summaryrefslogtreecommitdiffstats
path: root/src/test/ui/coherence/coherence-fn-implied-bounds.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/coherence/coherence-fn-implied-bounds.rs')
-rw-r--r--src/test/ui/coherence/coherence-fn-implied-bounds.rs26
1 files changed, 0 insertions, 26 deletions
diff --git a/src/test/ui/coherence/coherence-fn-implied-bounds.rs b/src/test/ui/coherence/coherence-fn-implied-bounds.rs
deleted file mode 100644
index 4539af9a3..000000000
--- a/src/test/ui/coherence/coherence-fn-implied-bounds.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-// Test that our leak-check is not smart enough to take implied bounds
-// into account (yet). Here we have two types that look like they
-// should not be equivalent, but because of the rules on implied
-// bounds we ought to know that, in fact, `'a = 'b` must always hold,
-// and hence they are.
-//
-// Rustc can't figure this out and hence it accepts the impls but
-// gives a future-compatibility warning (because we'd like to make
-// this an error someday).
-//
-// Note that while we would like to make this a hard error, we also
-// give the same warning for `coherence-wasm-bindgen.rs`, which ought
-// to be accepted.
-
-#![deny(coherence_leak_check)]
-
-trait Trait {}
-
-impl Trait for for<'a, 'b> fn(&'a &'b u32, &'b &'a u32) -> &'b u32 {}
-
-impl Trait for for<'c> fn(&'c &'c u32, &'c &'c u32) -> &'c u32 {
- //~^ ERROR conflicting implementations
- //~| WARNING this was previously accepted by the compiler
-}
-
-fn main() {}