| // 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 {} |