summaryrefslogtreecommitdiffstats
path: root/src/test/ui/coherence/const-generics-orphan-check-ok.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/coherence/const-generics-orphan-check-ok.rs')
-rw-r--r--src/test/ui/coherence/const-generics-orphan-check-ok.rs28
1 files changed, 0 insertions, 28 deletions
diff --git a/src/test/ui/coherence/const-generics-orphan-check-ok.rs b/src/test/ui/coherence/const-generics-orphan-check-ok.rs
deleted file mode 100644
index 217e8aed2..000000000
--- a/src/test/ui/coherence/const-generics-orphan-check-ok.rs
+++ /dev/null
@@ -1,28 +0,0 @@
-// check-pass
-// aux-build:trait-with-const-param.rs
-extern crate trait_with_const_param;
-use trait_with_const_param::*;
-
-// Trivial case, const param after local type.
-struct Local1;
-impl<const N: usize, T> Trait<N, T> for Local1 {}
-
-// Concrete consts behave the same as foreign types,
-// so this also trivially works.
-impl Trait<3, Local1> for i32 {}
-
-// This case isn't as trivial as we would forbid type
-// parameters here, we do allow const parameters though.
-//
-// The reason that type parameters are forbidden for
-// `impl<T> Trait<T, LocalInA> for i32 {}` is that another
-// downstream crate can add `impl<T> Trait<LocalInB, T> for i32`.
-// As these two impls would overlap we forbid any impls which
-// have a type parameter in front of a local type.
-//
-// With const parameters this issue does not exist as there are no
-// constants local to another downstream crate.
-struct Local2;
-impl<const N: usize> Trait<N, Local2> for i32 {}
-
-fn main() {}