diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-09-28 05:37:52 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-09-28 05:37:52 +0200 |
| commit | fc53088a5cc72e7276dfc4acfef3c405c36c783a (patch) | |
| tree | e0692ab14ba17e4fae92698dd921be3b87e74d34 | |
| parent | 2d4c101af51395c9453ca3c5b5f9d79dc290cc3c (diff) | |
| parent | 9ef6edb04ad059242551f134077dab88a36bdd61 (diff) | |
| download | rust-fc53088a5cc72e7276dfc4acfef3c405c36c783a.tar.gz rust-fc53088a5cc72e7276dfc4acfef3c405c36c783a.zip | |
Rollup merge of #64830 - Centril:thou-shallt-not-abort, r=estebank
Thou shallt not `.abort_if_errors()` r? @estebank
| -rw-r--r-- | src/librustc/hir/lowering/expr.rs | 3 | ||||
| -rw-r--r-- | src/test/ui/generator/no-parameters-on-generators.rs | 1 | ||||
| -rw-r--r-- | src/test/ui/generator/no-parameters-on-generators.stderr | 15 |
3 files changed, 16 insertions, 3 deletions
diff --git a/src/librustc/hir/lowering/expr.rs b/src/librustc/hir/lowering/expr.rs index caecc162c78..50fceacaa44 100644 --- a/src/librustc/hir/lowering/expr.rs +++ b/src/librustc/hir/lowering/expr.rs @@ -705,7 +705,6 @@ impl LoweringContext<'_> { E0628, "generators cannot have explicit parameters" ); - self.sess.abort_if_errors(); } Some(match movability { Movability::Movable => hir::GeneratorMovability::Movable, @@ -998,7 +997,7 @@ impl LoweringContext<'_> { E0727, "`async` generators are not yet supported", ); - self.sess.abort_if_errors(); + return hir::ExprKind::Err; }, None => self.generator_kind = Some(hir::GeneratorKind::Gen), } diff --git a/src/test/ui/generator/no-parameters-on-generators.rs b/src/test/ui/generator/no-parameters-on-generators.rs index a2632a4bd7d..6b5a5579339 100644 --- a/src/test/ui/generator/no-parameters-on-generators.rs +++ b/src/test/ui/generator/no-parameters-on-generators.rs @@ -2,6 +2,7 @@ fn main() { let gen = |start| { //~ ERROR generators cannot have explicit parameters + //~^ ERROR type inside generator must be known in this context yield; }; } diff --git a/src/test/ui/generator/no-parameters-on-generators.stderr b/src/test/ui/generator/no-parameters-on-generators.stderr index 41862f2b070..5e8e043a391 100644 --- a/src/test/ui/generator/no-parameters-on-generators.stderr +++ b/src/test/ui/generator/no-parameters-on-generators.stderr @@ -4,5 +4,18 @@ error[E0628]: generators cannot have explicit parameters LL | let gen = |start| { | ^^^^^^^ -error: aborting due to previous error +error[E0698]: type inside generator must be known in this context + --> $DIR/no-parameters-on-generators.rs:4:16 + | +LL | let gen = |start| { + | ^^^^^ cannot infer type + | +note: the type is part of the generator because of this `yield` + --> $DIR/no-parameters-on-generators.rs:6:9 + | +LL | yield; + | ^^^^^ + +error: aborting due to 2 previous errors +For more information about this error, try `rustc --explain E0698`. |
