| // rustfmt-spaces_within_angle_brackets: true |
| |
| struct Foo< T > { |
| i: T, |
| } |
| |
| struct Bar< T, E > { |
| i: T, |
| e: E, |
| } |
| |
| struct Foo< 'a > { |
| i: &'a str, |
| } |
| |
| enum E< T > { |
| T(T), |
| } |
| |
| enum E< T, S > { |
| T(T), |
| S(S), |
| } |
| |
| fn foo< T >(a: T) { |
| foo::< u32 >(10); |
| } |
| |
| fn foo< T, E >(a: T, b: E) { |
| foo::< u32, str >(10, "bar"); |
| } |
| |
| fn foo< T: Send, E: Send >(a: T, b: E) { |
| |
| foo::< u32, str >(10, "bar"); |
| |
| let opt: Option< u32 >; |
| let res: Result< u32, String >; |
| } |
| |
| fn foo< 'a >(a: &'a str) { |
| foo("foo"); |
| } |
| |
| fn foo< 'a, 'b >(a: &'a str, b: &'b str) { |
| foo("foo", "bar"); |
| } |
| |
| impl Foo { |
| fn bar() { |
| < Foo as Foo >::bar(); |
| } |
| } |
| |
| trait MyTrait< A, D > {} |
| impl< A: Send, D: Send > MyTrait< A, D > for Foo {} |
| |
| fn foo() where for< 'a > u32: 'a {} |