summaryrefslogtreecommitdiffstats
path: root/src/test/ui/issues/issue-50687-ice-on-borrow.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/issues/issue-50687-ice-on-borrow.rs')
-rw-r--r--src/test/ui/issues/issue-50687-ice-on-borrow.rs41
1 files changed, 0 insertions, 41 deletions
diff --git a/src/test/ui/issues/issue-50687-ice-on-borrow.rs b/src/test/ui/issues/issue-50687-ice-on-borrow.rs
deleted file mode 100644
index 7a8a12c2a..000000000
--- a/src/test/ui/issues/issue-50687-ice-on-borrow.rs
+++ /dev/null
@@ -1,41 +0,0 @@
-// This previously caused an ICE at:
-// librustc/traits/structural_impls.rs:180: impossible case reached
-
-#![no_main]
-
-use std::borrow::Borrow;
-use std::io;
-use std::io::Write;
-
-trait Constraint {}
-
-struct Container<T> {
- t: T,
-}
-
-struct Borrowed;
-struct Owned;
-
-impl<'a, T> Write for &'a Container<T>
-where
- T: Constraint,
- &'a T: Write,
-{
- fn write(&mut self, buf: &[u8]) -> io::Result<usize> {
- Ok(buf.len())
- }
-
- fn flush(&mut self) -> io::Result<()> {
- Ok(())
- }
-}
-
-impl Borrow<Borrowed> for Owned {
- fn borrow(&self) -> &Borrowed {
- &Borrowed
- }
-}
-
-fn func(owned: Owned) {
- let _: () = Borrow::borrow(&owned); //~ ERROR mismatched types
-}