3
3
#![ feature( explicit_tail_calls) ]
4
4
5
5
fn a ( ) {
6
- let foo = {
7
- //~^ WARN irrefutable `let...else` pattern
6
+ let 0 = {
8
7
1
9
8
} else {
10
9
//~^ ERROR right curly brace `}` before `else` in a `let...else` statement not allowed
@@ -22,8 +21,7 @@ fn b() {
22
21
}
23
22
24
23
fn c ( ) {
25
- let foo = if true {
26
- //~^ WARN irrefutable `let...else` pattern
24
+ let 0 = if true {
27
25
1
28
26
} else {
29
27
0
@@ -43,8 +41,7 @@ fn d() {
43
41
}
44
42
45
43
fn e ( ) {
46
- let foo = match true {
47
- //~^ WARN irrefutable `let...else` pattern
44
+ let 0 = match true {
48
45
true => 1 ,
49
46
false => 0
50
47
} else {
@@ -53,10 +50,12 @@ fn e() {
53
50
} ;
54
51
}
55
52
56
- struct X { a : i32 }
57
53
fn f ( ) {
58
- let foo = X {
59
- //~^ WARN irrefutable `let...else` pattern
54
+ struct X {
55
+ a : i32 ,
56
+ }
57
+
58
+ let X { a : 0 } = X {
60
59
a : 1
61
60
} else {
62
61
//~^ ERROR right curly brace `}` before `else` in a `let...else` statement not allowed
@@ -74,8 +73,7 @@ fn g() {
74
73
}
75
74
76
75
fn h ( ) {
77
- let foo = const {
78
- //~^ WARN irrefutable `let...else` pattern
76
+ let 0 = const {
79
77
1
80
78
} else {
81
79
//~^ ERROR right curly brace `}` before `else` in a `let...else` statement not allowed
@@ -84,8 +82,7 @@ fn h() {
84
82
}
85
83
86
84
fn i ( ) {
87
- let foo = & {
88
- //~^ WARN irrefutable `let...else` pattern
85
+ let 0 = & {
89
86
1
90
87
} else {
91
88
//~^ ERROR right curly brace `}` before `else` in a `let...else` statement not allowed
@@ -94,8 +91,8 @@ fn i() {
94
91
}
95
92
96
93
fn j ( ) {
97
- let bar = 0 ;
98
- let foo = bar = { //~ ERROR: cannot assign twice
94
+ let mut bar = 0 ;
95
+ let foo = bar = {
99
96
//~^ WARN irrefutable `let...else` pattern
100
97
1
101
98
} else {
@@ -105,8 +102,7 @@ fn j() {
105
102
}
106
103
107
104
fn k ( ) {
108
- let foo = 1 + {
109
- //~^ WARN irrefutable `let...else` pattern
105
+ let 0 = 1 + {
110
106
1
111
107
} else {
112
108
//~^ ERROR right curly brace `}` before `else` in a `let...else` statement not allowed
@@ -115,8 +111,8 @@ fn k() {
115
111
}
116
112
117
113
fn l ( ) {
118
- let foo = 1 .. {
119
- //~^ WARN irrefutable `let...else` pattern
114
+ const RANGE : std :: ops :: Range < u8 > = 0 .. 0 ;
115
+ let RANGE = 1 .. {
120
116
1
121
117
} else {
122
118
//~^ ERROR right curly brace `}` before `else` in a `let...else` statement not allowed
@@ -125,8 +121,7 @@ fn l() {
125
121
}
126
122
127
123
fn m ( ) {
128
- let foo = return {
129
- //~^ WARN irrefutable `let...else` pattern
124
+ let 0 = return {
130
125
( )
131
126
} else {
132
127
//~^ ERROR right curly brace `}` before `else` in a `let...else` statement not allowed
@@ -135,8 +130,7 @@ fn m() {
135
130
}
136
131
137
132
fn n ( ) {
138
- let foo = -{
139
- //~^ WARN irrefutable `let...else` pattern
133
+ let 0 = -{
140
134
1
141
135
} else {
142
136
//~^ ERROR right curly brace `}` before `else` in a `let...else` statement not allowed
@@ -145,8 +139,7 @@ fn n() {
145
139
}
146
140
147
141
fn o ( ) -> Result < ( ) , ( ) > {
148
- let foo = do yeet {
149
- //~^ WARN irrefutable `let...else` pattern
142
+ let 0 = do yeet {
150
143
( )
151
144
} else {
152
145
//~^ ERROR right curly brace `}` before `else` in a `let...else` statement not allowed
@@ -155,8 +148,7 @@ fn o() -> Result<(), ()> {
155
148
}
156
149
157
150
fn p ( ) {
158
- let foo = become {
159
- //~^ WARN irrefutable `let...else` pattern
151
+ let 0 = become {
160
152
( )
161
153
} else {
162
154
//~^ ERROR right curly brace `}` before `else` in a `let...else` statement not allowed
@@ -185,22 +177,23 @@ fn r() {
185
177
186
178
fn s ( ) {
187
179
macro_rules! a {
188
- ( ) => { { } }
189
- //~^ WARN irrefutable `let...else` pattern
190
- //~| WARN irrefutable `let...else` pattern
180
+ ( ) => {
181
+ { 1 }
182
+ } ;
191
183
}
192
184
193
185
macro_rules! b {
194
186
( 1 ) => {
195
- let x = a!( ) else { return ; } ;
187
+ let 0 = a!( ) else { return ; } ;
196
188
} ;
197
189
( 2 ) => {
198
- let x = a! { } else { return ; } ;
190
+ let 0 = a! { } else { return ; } ;
199
191
//~^ ERROR right curly brace `}` before `else` in a `let...else` statement not allowed
200
192
} ;
201
193
}
202
194
203
- b ! ( 1 ) ; b ! ( 2 ) ;
195
+ b ! ( 1 ) ;
196
+ b ! ( 2 ) ;
204
197
}
205
198
206
199
fn main ( ) { }
0 commit comments