diff options
Diffstat (limited to 'src/test/ui/const-generics/defaults/mismatched_ty_const_in_trait_impl.rs')
-rw-r--r-- | src/test/ui/const-generics/defaults/mismatched_ty_const_in_trait_impl.rs | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/test/ui/const-generics/defaults/mismatched_ty_const_in_trait_impl.rs b/src/test/ui/const-generics/defaults/mismatched_ty_const_in_trait_impl.rs new file mode 100644 index 000000000..5c9323261 --- /dev/null +++ b/src/test/ui/const-generics/defaults/mismatched_ty_const_in_trait_impl.rs @@ -0,0 +1,41 @@ +trait Trait { + fn foo<U>() {} +} +impl Trait for () { + fn foo<const M: u64>() {} + //~^ error: method `foo` has an incompatible generic parameter for trait +} + +trait Other { + fn bar<const M: u8>() {} +} +impl Other for () { + fn bar<T>() {} + //~^ error: method `bar` has an incompatible generic parameter for trait +} + +trait Uwu { + fn baz<const N: u32>() {} +} +impl Uwu for () { + fn baz<const N: i32>() {} + //~^ error: method `baz` has an incompatible generic parameter for trait +} + +trait Aaaaaa { + fn bbbb<const N: u32, T>() {} +} +impl Aaaaaa for () { + fn bbbb<T, const N: u32>() {} + //~^ error: method `bbbb` has an incompatible generic parameter for trait +} + +trait Names { + fn abcd<T, const N: u32>() {} +} +impl Names for () { + fn abcd<const N: u32, T>() {} + //~^ error: method `abcd` has an incompatible generic parameter for trait +} + +fn main() {} |