error[E0658]: use of unstable library feature `deref_patterns`: placeholder syntax for deref patterns --> $DIR/needs-gate.rs:5:9 | LL | deref!(0) => {} | ^^^^^ | = note: see issue #87121 for more information = help: add `#![feature(deref_patterns)]` to the crate attributes to enable = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date error[E0308]: mismatched types --> $DIR/needs-gate.rs:11:9 | LL | match Box::new(0) { | ----------- this expression has type `Box<{integer}>` LL | 0 => {} | ^ expected `Box<{integer}>`, found integer | = note: expected struct `Box<{integer}>` found type `{integer}` help: consider dereferencing to access the inner value using the Deref trait | LL | match *Box::new(0) { | + error[E0308]: mismatched types --> $DIR/needs-gate.rs:18:9 | LL | match *"test" { | ------- this expression has type `str` LL | "test" => {} | ^^^^^^ expected `str`, found `&str` error[E0308]: mismatched types --> $DIR/needs-gate.rs:23:9 | LL | match *b"test" { | -------- this expression has type `[u8; 4]` LL | b"test" => {} | ^^^^^^^ expected `[u8; 4]`, found `&[u8; 4]` error[E0308]: mismatched types --> $DIR/needs-gate.rs:28:9 | LL | match *(b"test" as &[u8]) { | ------------------- this expression has type `[u8]` LL | b"test" => {} | ^^^^^^^ expected `[u8]`, found `&[u8; 4]` error[E0308]: mismatched types --> $DIR/needs-gate.rs:35:9 | LL | match &"str" { | ------ this expression has type `&&str` LL | "str" => {} | ^^^^^ expected `&&str`, found `&str` | = note: expected reference `&&_` found reference `&'static _` error[E0308]: mismatched types --> $DIR/needs-gate.rs:40:9 | LL | match &b"str" { | ------- this expression has type `&&[u8; 3]` LL | b"str" => {} | ^^^^^^ expected `&&[u8; 3]`, found `&[u8; 3]` | = note: expected reference `&&_` found reference `&'static _` error[E0308]: mismatched types --> $DIR/needs-gate.rs:45:9 | LL | match "str".to_owned() { | ---------------- this expression has type `String` LL | "str" => {} | ^^^^^ expected `String`, found `&str` error[E0308]: mismatched types --> $DIR/needs-gate.rs:52:12 | LL | if let "str" = &mut *"str".to_string() {} | ^^^^^ ----------------------- this expression has type `&mut str` | | | types differ in mutability | = note: expected mutable reference `&mut _` found reference `&'static _` error[E0308]: mismatched types --> $DIR/needs-gate.rs:54:12 | LL | if let b"str" = &mut b"str".clone() {} | ^^^^^^ ------------------- this expression has type `&mut [u8; 3]` | | | types differ in mutability | = note: expected mutable reference `&mut _` found reference `&'static _` error[E0308]: mismatched types --> $DIR/needs-gate.rs:56:12 | LL | if let b"str" = &mut b"str".clone()[..] {} | ^^^^^^ ----------------------- this expression has type `&mut [u8]` | | | types differ in mutability | = note: expected mutable reference `&mut _` found reference `&'static _` error: aborting due to 11 previous errors Some errors have detailed explanations: E0308, E0658. For more information about an error, try `rustc --explain E0308`.