Skip to content

Commit dd45b80

Browse files
authored
Rollup merge of #64830 - Centril:thou-shallt-not-abort, r=estebank
Thou shallt not `.abort_if_errors()` r? @estebank
2 parents 5280e79 + 9ef6edb commit dd45b80

File tree

3 files changed

+16
-3
lines changed

3 files changed

+16
-3
lines changed

src/librustc/hir/lowering/expr.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -704,7 +704,6 @@ impl LoweringContext<'_> {
704704
E0628,
705705
"generators cannot have explicit parameters"
706706
);
707-
self.sess.abort_if_errors();
708707
}
709708
Some(match movability {
710709
Movability::Movable => hir::GeneratorMovability::Movable,
@@ -996,7 +995,7 @@ impl LoweringContext<'_> {
996995
E0727,
997996
"`async` generators are not yet supported",
998997
);
999-
self.sess.abort_if_errors();
998+
return hir::ExprKind::Err;
1000999
},
10011000
None => self.generator_kind = Some(hir::GeneratorKind::Gen),
10021001
}

src/test/ui/generator/no-parameters-on-generators.rs

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
fn main() {
44
let gen = |start| { //~ ERROR generators cannot have explicit parameters
5+
//~^ ERROR type inside generator must be known in this context
56
yield;
67
};
78
}

src/test/ui/generator/no-parameters-on-generators.stderr

+14-1
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,18 @@ error[E0628]: generators cannot have explicit parameters
44
LL | let gen = |start| {
55
| ^^^^^^^
66

7-
error: aborting due to previous error
7+
error[E0698]: type inside generator must be known in this context
8+
--> $DIR/no-parameters-on-generators.rs:4:16
9+
|
10+
LL | let gen = |start| {
11+
| ^^^^^ cannot infer type
12+
|
13+
note: the type is part of the generator because of this `yield`
14+
--> $DIR/no-parameters-on-generators.rs:6:9
15+
|
16+
LL | yield;
17+
| ^^^^^
18+
19+
error: aborting due to 2 previous errors
820

21+
For more information about this error, try `rustc --explain E0698`.

0 commit comments

Comments
 (0)