diff options
Diffstat (limited to 'src/test/ui/marker_trait_attr/issue-61651-type-mismatch.rs')
-rw-r--r-- | src/test/ui/marker_trait_attr/issue-61651-type-mismatch.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/test/ui/marker_trait_attr/issue-61651-type-mismatch.rs b/src/test/ui/marker_trait_attr/issue-61651-type-mismatch.rs new file mode 100644 index 000000000..0af706615 --- /dev/null +++ b/src/test/ui/marker_trait_attr/issue-61651-type-mismatch.rs @@ -0,0 +1,17 @@ +// check-pass +// Regression test for issue #61651 +// Verifies that we don't try to constrain inference +// variables due to the presence of multiple applicable +// marker trait impls + +#![feature(marker_trait_attr)] + +#[marker] // Remove this line and it works?!? +trait Foo<T> {} +impl Foo<u16> for u8 {} +impl Foo<[u8; 1]> for u8 {} +fn foo<T: Foo<U>, U>(_: T) -> U { unimplemented!() } + +fn main() { + let _: u16 = foo(0_u8); +} |