diff options
Diffstat (limited to 'src/test/ui/marker_trait_attr/overlap-doesnt-conflict-with-specialization.rs')
-rw-r--r-- | src/test/ui/marker_trait_attr/overlap-doesnt-conflict-with-specialization.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/test/ui/marker_trait_attr/overlap-doesnt-conflict-with-specialization.rs b/src/test/ui/marker_trait_attr/overlap-doesnt-conflict-with-specialization.rs new file mode 100644 index 000000000..1e413120a --- /dev/null +++ b/src/test/ui/marker_trait_attr/overlap-doesnt-conflict-with-specialization.rs @@ -0,0 +1,20 @@ +// run-pass + +#![feature(marker_trait_attr)] +#![feature(specialization)] //~ WARN the feature `specialization` is incomplete + +#[marker] +trait MyMarker {} + +impl<T> MyMarker for T {} +impl<T> MyMarker for Vec<T> {} + +fn foo<T: MyMarker>(t: T) -> T { + t +} + +fn main() { + assert_eq!(1, foo(1)); + assert_eq!(2.0, foo(2.0)); + assert_eq!(vec![1], foo(vec![1])); +} |