dianne 32503440cd make [u8] and [u8;N] literal patterns usable in deref patterns
Specifically, this allows byte string literal patterns to be used where
a `[u8]` or `[u8;N]` is expected when `deref_patterns` is enabled.
2025-04-22 13:19:20 -07:00

33 lines
723 B
Rust

// gate-test-deref_patterns
fn main() {
match Box::new(0) {
deref!(0) => {}
//~^ ERROR: use of unstable library feature `deref_patterns`: placeholder syntax for deref patterns
_ => {}
}
match Box::new(0) {
0 => {}
//~^ ERROR: mismatched types
_ => {}
}
// `deref_patterns` allows string and byte string literals to have non-ref types.
match *"test" {
"test" => {}
//~^ ERROR: mismatched types
_ => {}
}
match *b"test" {
b"test" => {}
//~^ ERROR: mismatched types
_ => {}
}
match *(b"test" as &[u8]) {
b"test" => {}
//~^ ERROR: mismatched types
_ => {}
}
}