diff options
Diffstat (limited to 'src/test/ui/traits/impl-evaluation-order.rs')
-rw-r--r-- | src/test/ui/traits/impl-evaluation-order.rs | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/src/test/ui/traits/impl-evaluation-order.rs b/src/test/ui/traits/impl-evaluation-order.rs deleted file mode 100644 index 57809d89a..000000000 --- a/src/test/ui/traits/impl-evaluation-order.rs +++ /dev/null @@ -1,39 +0,0 @@ -// Regression test for #79902 - -// Check that evaluation (which is used to determine whether to copy a type in -// MIR building) evaluates bounds from normalizing an impl after evaluating -// any bounds on the impl. - -// check-pass - -trait A { - type B; -} -trait M {} - -struct G<T, U>(*const T, *const U); - -impl<T, U> Clone for G<T, U> { - fn clone(&self) -> Self { - G { ..*self } - } -} - -impl<T, U> Copy for G<T, U::B> -where - T: A<B = U>, - U: A, -{ -} - -impl A for () { - type B = (); -} - -fn is_m<T: M>(_: T) {} - -fn main() { - let x = G(&(), &()); - drop(x); - drop(x); -} |