diff options
| author | Kivooeo <Kivooeo123@gmail.com> | 2025-06-08 19:09:38 +0500 |
|---|---|---|
| committer | Kivooeo <tea@Kivooeos-MacBook-Air.local> | 2025-06-23 18:53:56 +0500 |
| commit | 793607059bcd49cbafc3d75f8438b496cd793970 (patch) | |
| tree | 851a41f888373b2c99bc57361e08436aabe4dab6 /tests/ui/destructure-trait-ref.rs | |
| parent | 8072811356a178dbdf8ca09b1635cfafd4661971 (diff) | |
| download | rust-793607059bcd49cbafc3d75f8438b496cd793970.tar.gz rust-793607059bcd49cbafc3d75f8438b496cd793970.zip | |
cleaned up some tests
Diffstat (limited to 'tests/ui/destructure-trait-ref.rs')
| -rw-r--r-- | tests/ui/destructure-trait-ref.rs | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/tests/ui/destructure-trait-ref.rs b/tests/ui/destructure-trait-ref.rs deleted file mode 100644 index daa0ca30d68..00000000000 --- a/tests/ui/destructure-trait-ref.rs +++ /dev/null @@ -1,46 +0,0 @@ -// The regression test for #15031 to make sure destructuring trait -// reference work properly. - -//@ dont-require-annotations: NOTE - -#![feature(box_patterns)] - -trait T { fn foo(&self) {} } -impl T for isize {} - - -fn main() { - // For an expression of the form: - // - // let &...&x = &..&SomeTrait; - // - // Say we have n `&` at the left hand and m `&` right hand, then: - // if n < m, we are golden; - // if n == m, it's a derefing non-derefable type error; - // if n > m, it's a type mismatch error. - - // n < m - let &x = &(&1isize as &dyn T); - let &x = &&(&1isize as &dyn T); - let &&x = &&(&1isize as &dyn T); - - // n == m - let &x = &1isize as &dyn T; //~ ERROR type `&dyn T` cannot be dereferenced - let &&x = &(&1isize as &dyn T); //~ ERROR type `&dyn T` cannot be dereferenced - let box x = Box::new(1isize) as Box<dyn T>; - //~^ ERROR type `Box<dyn T>` cannot be dereferenced - - // n > m - let &&x = &1isize as &dyn T; - //~^ ERROR mismatched types - //~| NOTE expected trait object `dyn T` - //~| NOTE found reference `&_` - let &&&x = &(&1isize as &dyn T); - //~^ ERROR mismatched types - //~| NOTE expected trait object `dyn T` - //~| NOTE found reference `&_` - let box box x = Box::new(1isize) as Box<dyn T>; - //~^ ERROR mismatched types - //~| NOTE expected trait object `dyn T` - //~| NOTE found struct `Box<_>` -} |
