diff options
Diffstat (limited to 'src/test/ui/issues/issue-41936-variance-coerce-unsized-cycle.rs')
-rw-r--r-- | src/test/ui/issues/issue-41936-variance-coerce-unsized-cycle.rs | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/src/test/ui/issues/issue-41936-variance-coerce-unsized-cycle.rs b/src/test/ui/issues/issue-41936-variance-coerce-unsized-cycle.rs deleted file mode 100644 index 3d678ba04..000000000 --- a/src/test/ui/issues/issue-41936-variance-coerce-unsized-cycle.rs +++ /dev/null @@ -1,30 +0,0 @@ -// check-pass -#![allow(dead_code)] -// Regression test for #41936. The coerce-unsized trait check in -// coherence was using subtyping, which triggered variance -// computation, which failed because it required type info for fields -// that had not (yet) been computed. - -#![feature(unsize)] -#![feature(coerce_unsized)] - -use std::{marker,ops}; - -// Change the array to a non-array, and error disappears -// Adding a new field to the end keeps the error -struct LogDataBuf([u8;8]); - -struct Aref<T: ?Sized> -{ - // Inner structure triggers the error, removing the inner removes the message. - ptr: Box<ArefInner<T>>, -} -impl<T: ?Sized + marker::Unsize<U>, U: ?Sized> ops::CoerceUnsized<Aref<U>> for Aref<T> {} - -struct ArefInner<T: ?Sized> -{ - // Even with this field commented out, the error is raised. - data: T, -} - -fn main(){} |