diff options
Diffstat (limited to 'src/test/ui/associated-types/associated-types-overridden-default.rs')
-rw-r--r-- | src/test/ui/associated-types/associated-types-overridden-default.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/test/ui/associated-types/associated-types-overridden-default.rs b/src/test/ui/associated-types/associated-types-overridden-default.rs new file mode 100644 index 000000000..3e12c9228 --- /dev/null +++ b/src/test/ui/associated-types/associated-types-overridden-default.rs @@ -0,0 +1,22 @@ +// check-pass + +// Before RFC 2532, overriding one assoc. type default required overriding all +// provided defaults. + +#![feature(associated_type_defaults)] + +pub trait Tr { + type Assoc = u8; + type Assoc2 = Self::Assoc; + const C: u8 = 11; + fn foo(&self) {} +} + +impl Tr for () { + type Assoc = (); +} + +fn main() { + let _: <() as Tr>::Assoc = (); + let _: <() as Tr>::Assoc2 = (); +} |