diff options
Diffstat (limited to 'src/test/ui/associated-types/associated-types-method.rs')
-rw-r--r-- | src/test/ui/associated-types/associated-types-method.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/test/ui/associated-types/associated-types-method.rs b/src/test/ui/associated-types/associated-types-method.rs new file mode 100644 index 000000000..45df3ac20 --- /dev/null +++ b/src/test/ui/associated-types/associated-types-method.rs @@ -0,0 +1,28 @@ +// run-pass +// Test that methods whose impl-trait-ref contains associated types +// are supported. + +trait Device { + type Resources; +} +#[allow(unused_tuple_struct_fields)] +struct Foo<D, R>(D, R); + +trait Tr { + fn present(&self) {} +} + +impl<D: Device> Tr for Foo<D, D::Resources> { + fn present(&self) {} +} + +struct Res; +struct Dev; +impl Device for Dev { + type Resources = Res; +} + +fn main() { + let foo = Foo(Dev, Res); + foo.present(); +} |