#![crate_name = "generics_match_ambiguity"] pub struct Wrap(pub T, pub U); pub fn foo(a: Wrap, b: Wrap) {} pub fn bar(a: Wrap, b: Wrap) {} pub struct W2(pub T); pub struct W3(pub T, pub U); pub fn baaa(a: W3, b: W3) {} pub fn baab(a: W3, b: W3) {} pub fn baac(a: W2>, b: W3) {} pub fn baad(a: W2>, b: W3) {} pub fn baae(a: W3, b: W2>) {} pub fn baaf(a: W3, b: W2>) {} pub fn baag(a: W2>, b: W2>) {} pub fn baah(a: W2>, b: W2>) {}