swift generic func with overlapping type constraints -


i have protocol hierarchy:

protocol {}  protocol b: {} 

what happen if have 2 following funcs:

func myfunc<t : t: b>( object: t){ ... } func myfunc<t : a>( object: t){ ... } 

which function executed if call

myfunc( object: myinstance )  

with myinstance conforming protocol b. in case myinstance matches 2 constraints.

thanks

the general rule compiler tries select most specific / most constrained overload.

for example above, first version of myfunc