blob: 3d938a7e23fc0d1c4b4081140abfa83511565ab9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
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[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`.
|