From a1d8ce46da103ffa6b96a80cc543ed4e447be917 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Tue, 22 Feb 2022 00:04:17 +0100 Subject: [PATCH] chalk: add known-bug test that was previously ICEing. --- src/test/ui/chalkify/bugs/async.rs | 9 ++++++ src/test/ui/chalkify/bugs/async.stderr | 39 +++++++++++++++++++++++++ src/tools/tidy/src/error_codes_check.rs | 4 +-- 3 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 src/test/ui/chalkify/bugs/async.rs create mode 100644 src/test/ui/chalkify/bugs/async.stderr diff --git a/src/test/ui/chalkify/bugs/async.rs b/src/test/ui/chalkify/bugs/async.rs new file mode 100644 index 00000000000..58fc93064ed --- /dev/null +++ b/src/test/ui/chalkify/bugs/async.rs @@ -0,0 +1,9 @@ +// check-fail +// known-bug +// compile-flags: -Z chalk --edition=2021 + +fn main() -> () {} + +async fn foo(x: u32) -> u32 { + x +} diff --git a/src/test/ui/chalkify/bugs/async.stderr b/src/test/ui/chalkify/bugs/async.stderr new file mode 100644 index 00000000000..7a86561bcb9 --- /dev/null +++ b/src/test/ui/chalkify/bugs/async.stderr @@ -0,0 +1,39 @@ +error[E0277]: the trait bound `[static generator@$DIR/async.rs:7:29: 9:2]: Generator` is not satisfied + --> $DIR/async.rs:7:29 + | +LL | async fn foo(x: u32) -> u32 { + | _____________________________^ +LL | | x +LL | | } + | |_^ the trait `Generator` is not implemented for `[static generator@$DIR/async.rs:7:29: 9:2]` + | +note: required by a bound in `from_generator` + --> $SRC_DIR/core/src/future/mod.rs:LL:COL + | +LL | T: Generator, + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `from_generator` + +error[E0280]: the requirement `<[static generator@$DIR/async.rs:7:29: 9:2] as Generator>::Yield == ()` is not satisfied + --> $DIR/async.rs:7:29 + | +LL | async fn foo(x: u32) -> u32 { + | _____________________________^ +LL | | x +LL | | } + | |_^ + | +note: required by a bound in `from_generator` + --> $SRC_DIR/core/src/future/mod.rs:LL:COL + | +LL | T: Generator, + | ^^^^^^^^^^ required by this bound in `from_generator` + +error[E0280]: the requirement ` as Future>::Output == u32` is not satisfied + --> $DIR/async.rs:7:25 + | +LL | async fn foo(x: u32) -> u32 { + | ^^^ + +error: aborting due to 3 previous errors + +For more information about this error, try `rustc --explain E0277`. diff --git a/src/tools/tidy/src/error_codes_check.rs b/src/tools/tidy/src/error_codes_check.rs index 2a23d72edc0..f6be550283a 100644 --- a/src/tools/tidy/src/error_codes_check.rs +++ b/src/tools/tidy/src/error_codes_check.rs @@ -10,8 +10,8 @@ // A few of those error codes can't be tested but all the others can and *should* be tested! const EXEMPTED_FROM_TEST: &[&str] = &[ - "E0279", "E0280", "E0313", "E0377", "E0461", "E0462", "E0465", "E0476", "E0514", "E0519", - "E0523", "E0554", "E0640", "E0717", "E0729", + "E0279", "E0313", "E0377", "E0461", "E0462", "E0465", "E0476", "E0514", "E0519", "E0523", + "E0554", "E0640", "E0717", "E0729", ]; // Some error codes don't have any tests apparently...