error[E0308]: mismatched types --> $DIR/suggest-deref-in-match-issue-132784.rs:7:9 | LL | match x { | - this expression has type `Arc>` ... LL | Some(_) => {} | ^^^^^^^ expected `Arc>`, found `Option<_>` | = note: expected struct `Arc>` found enum `Option<_>` help: consider dereferencing to access the inner value using the Deref trait | LL | match *x { | + error[E0308]: mismatched types --> $DIR/suggest-deref-in-match-issue-132784.rs:9:9 | LL | match x { | - this expression has type `Arc>` ... LL | None => {} | ^^^^ expected `Arc>`, found `Option<_>` | = note: expected struct `Arc>` found enum `Option<_>` help: consider dereferencing to access the inner value using the Deref trait | LL | match *x { | + error[E0308]: mismatched types --> $DIR/suggest-deref-in-match-issue-132784.rs:16:9 | LL | match &x { | -- this expression has type `&Arc>` ... LL | Some(_) => {} | ^^^^^^^ expected `Arc>`, found `Option<_>` | = note: expected struct `Arc>` found enum `Option<_>` help: consider dereferencing to access the inner value using the Deref trait | LL | match &*x { | + error[E0308]: mismatched types --> $DIR/suggest-deref-in-match-issue-132784.rs:18:9 | LL | match &x { | -- this expression has type `&Arc>` ... LL | None => {} | ^^^^ expected `Arc>`, found `Option<_>` | = note: expected struct `Arc>` found enum `Option<_>` help: consider dereferencing to access the inner value using the Deref trait | LL | match &*x { | + error[E0308]: mismatched types --> $DIR/suggest-deref-in-match-issue-132784.rs:26:9 | LL | match y { | - this expression has type `Box>` ... LL | Some(_) => {} | ^^^^^^^ expected `Box>`, found `Option<_>` | = note: expected struct `Box>` found enum `Option<_>` help: consider dereferencing to access the inner value using the Deref trait | LL | match *y { | + error[E0308]: mismatched types --> $DIR/suggest-deref-in-match-issue-132784.rs:28:9 | LL | match y { | - this expression has type `Box>` ... LL | None => {} | ^^^^ expected `Box>`, found `Option<_>` | = note: expected struct `Box>` found enum `Option<_>` help: consider dereferencing to access the inner value using the Deref trait | LL | match *y { | + error[E0308]: mismatched types --> $DIR/suggest-deref-in-match-issue-132784.rs:36:9 | LL | match z as Arc> { | --------------------- this expression has type `Arc>` ... LL | Some(_) => {} | ^^^^^^^ expected `Arc>`, found `Option<_>` | = note: expected struct `Arc>` found enum `Option<_>` help: consider dereferencing to access the inner value using the Deref trait | LL - match z as Arc> { LL + match *(z as Arc>) { | error[E0308]: mismatched types --> $DIR/suggest-deref-in-match-issue-132784.rs:38:9 | LL | match z as Arc> { | --------------------- this expression has type `Arc>` ... LL | None => {} | ^^^^ expected `Arc>`, found `Option<_>` | = note: expected struct `Arc>` found enum `Option<_>` help: consider dereferencing to access the inner value using the Deref trait | LL - match z as Arc> { LL + match *(z as Arc>) { | error[E0308]: mismatched types --> $DIR/suggest-deref-in-match-issue-132784.rs:46:9 | LL | match z_const { | ------- this expression has type `&Arc>` ... LL | Some(_) => {} | ^^^^^^^ expected `Arc>`, found `Option<_>` | = note: expected struct `Arc>` found enum `Option<_>` help: consider dereferencing to access the inner value using the Deref trait | LL | match &**z_const { | +++ error[E0308]: mismatched types --> $DIR/suggest-deref-in-match-issue-132784.rs:48:9 | LL | match z_const { | ------- this expression has type `&Arc>` ... LL | None => {} | ^^^^ expected `Arc>`, found `Option<_>` | = note: expected struct `Arc>` found enum `Option<_>` help: consider dereferencing to access the inner value using the Deref trait | LL | match &**z_const { | +++ error[E0308]: mismatched types --> $DIR/suggest-deref-in-match-issue-132784.rs:57:9 | LL | match z_mut { | ----- this expression has type `&mut Arc>` ... LL | Some(_) => {} | ^^^^^^^ expected `Arc>`, found `Option<_>` | = note: expected struct `Arc>` found enum `Option<_>` help: consider dereferencing to access the inner value using the Deref trait | LL | match &**z_mut { | +++ error[E0308]: mismatched types --> $DIR/suggest-deref-in-match-issue-132784.rs:59:9 | LL | match z_mut { | ----- this expression has type `&mut Arc>` ... LL | None => {} | ^^^^ expected `Arc>`, found `Option<_>` | = note: expected struct `Arc>` found enum `Option<_>` help: consider dereferencing to access the inner value using the Deref trait | LL | match &**z_mut { | +++ error[E0308]: mismatched types --> $DIR/suggest-deref-in-match-issue-132784.rs:68:9 | LL | match y_mut { | ----- this expression has type `&mut Box>` ... LL | Some(_) => {} | ^^^^^^^ expected `Box>`, found `Option<_>` | = note: expected struct `Box>` found enum `Option<_>` help: consider dereferencing to access the inner value using the Deref trait | LL | match &**y_mut { | +++ error[E0308]: mismatched types --> $DIR/suggest-deref-in-match-issue-132784.rs:70:9 | LL | match y_mut { | ----- this expression has type `&mut Box>` ... LL | None => {} | ^^^^ expected `Box>`, found `Option<_>` | = note: expected struct `Box>` found enum `Option<_>` help: consider dereferencing to access the inner value using the Deref trait | LL | match &**y_mut { | +++ error[E0308]: mismatched types --> $DIR/suggest-deref-in-match-issue-132784.rs:79:9 | LL | match (& (&difficult) ) { | ------------------ this expression has type `&&Arc>` ... LL | Some(_) => {} | ^^^^^^^ expected `Arc>`, found `Option<_>` | = note: expected struct `Arc>` found enum `Option<_>` help: consider dereferencing to access the inner value using the Deref trait | LL - match (& (&difficult) ) { LL + match &*difficult { | error[E0308]: mismatched types --> $DIR/suggest-deref-in-match-issue-132784.rs:81:9 | LL | match (& (&difficult) ) { | ------------------ this expression has type `&&Arc>` ... LL | None => {} | ^^^^ expected `Arc>`, found `Option<_>` | = note: expected struct `Arc>` found enum `Option<_>` help: consider dereferencing to access the inner value using the Deref trait | LL - match (& (&difficult) ) { LL + match &*difficult { | error: aborting due to 16 previous errors For more information about this error, try `rustc --explain E0308`.