diff options
Diffstat (limited to 'src/test/ui/coherence/coherence-fn-implied-bounds.rs')
-rw-r--r-- | src/test/ui/coherence/coherence-fn-implied-bounds.rs | 26 |
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() {} |