diff options
Diffstat (limited to 'tests/ui/coherence/re-rebalance-coherence-default-generic-associated-type.rs')
-rw-r--r-- | tests/ui/coherence/re-rebalance-coherence-default-generic-associated-type.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/ui/coherence/re-rebalance-coherence-default-generic-associated-type.rs b/tests/ui/coherence/re-rebalance-coherence-default-generic-associated-type.rs new file mode 100644 index 000000000..d18e3f453 --- /dev/null +++ b/tests/ui/coherence/re-rebalance-coherence-default-generic-associated-type.rs @@ -0,0 +1,26 @@ +// run-pass +// aux-build:re_rebalance_coherence_lib-rpass.rs + +#![allow(dead_code)] +// check that a generic type with a default value from an associated type can be used without +// specifying the value, and without invoking coherence errors. + +extern crate re_rebalance_coherence_lib_rpass as lib; +use lib::*; + +struct MyString {} + +impl LibToOwned for MyString { + type Owned = String; +} + +impl PartialEq<MyString> for LibCow<MyString> { + fn eq(&self, _other: &MyString) -> bool { + // Test that the default type is used. + let _s: &String = &self.o; + + false + } +} + +fn main() {} |