summaryrefslogtreecommitdiffstats
path: root/src/test/ui/coherence/coherence-fn-inputs.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/coherence/coherence-fn-inputs.rs')
-rw-r--r--src/test/ui/coherence/coherence-fn-inputs.rs25
1 files changed, 0 insertions, 25 deletions
diff --git a/src/test/ui/coherence/coherence-fn-inputs.rs b/src/test/ui/coherence/coherence-fn-inputs.rs
deleted file mode 100644
index 3afec5c54..000000000
--- a/src/test/ui/coherence/coherence-fn-inputs.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-// Test that we consider these two types completely equal:
-//
-// * `for<'a, 'b> fn(&'a u32, &'b u32)`
-// * `for<'c> fn(&'c u32, &'c u32)`
-//
-// For a long time we considered these to be distinct types. But in fact they
-// are equivalent, if you work through the implications of subtyping -- this is
-// because:
-//
-// * `'c` can be the intersection of `'a` and `'b` (and there is always an intersection)
-// * `'a` and `'b` can both be equal to `'c`
-
-trait Trait {}
-impl Trait for for<'a, 'b> fn(&'a u32, &'b u32) {}
-impl Trait for for<'c> fn(&'c u32, &'c u32) {
- //~^ ERROR conflicting implementations
- //
- // Note in particular that we do NOT get a future-compatibility warning
- // here. This is because the new leak-check proposed in [MCP 295] does not
- // "error" when these two types are equated.
- //
- // [MCP 295]: https://github.com/rust-lang/compiler-team/issues/295
-}
-
-fn main() {}