rust/tests/ui/pattern/deref-patterns/needs-gate.stderr
dianne 4c4b61b730 add a feature gate test
Implicit deref patterns allow previously ill-typed programs. Make sure
they're still ill-typed without the feature gate. I've thrown in a test
for `deref!(_)` too, though it seems it refers to `deref_patterns` as a
library feature.
2025-04-16 15:42:13 -07:00

29 lines
1.1 KiB
Text

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 <https://github.com/rust-lang/rust/issues/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: aborting due to 2 previous errors
Some errors have detailed explanations: E0308, E0658.
For more information about an error, try `rustc --explain E0308`.