diff options
| author | Michael Goulet <michael@errs.io> | 2022-08-10 20:53:06 +0000 |
|---|---|---|
| committer | Michael Goulet <michael@errs.io> | 2022-08-16 03:00:32 +0000 |
| commit | 5309375d2c8d51dafedb5404f0fb49f402350394 (patch) | |
| tree | 0cc5caf474d106828f82b5e2afdcff22316d6f5d /src/test | |
| parent | 40336865fe7d4a01139a3336639c6971647e885c (diff) | |
| download | rust-5309375d2c8d51dafedb5404f0fb49f402350394.tar.gz rust-5309375d2c8d51dafedb5404f0fb49f402350394.zip | |
Do not report cycle error when inferring return type for suggestion
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/suggestions/return-cycle-2.rs | 14 | ||||
| -rw-r--r-- | src/test/ui/suggestions/return-cycle-2.stderr | 12 | ||||
| -rw-r--r-- | src/test/ui/suggestions/return-cycle.rs | 14 | ||||
| -rw-r--r-- | src/test/ui/suggestions/return-cycle.stderr | 12 |
4 files changed, 52 insertions, 0 deletions
diff --git a/src/test/ui/suggestions/return-cycle-2.rs b/src/test/ui/suggestions/return-cycle-2.rs new file mode 100644 index 00000000000..d6d24be1b8d --- /dev/null +++ b/src/test/ui/suggestions/return-cycle-2.rs @@ -0,0 +1,14 @@ +use std::marker::PhantomData; + +struct Token<T>(PhantomData<T>); + +impl<T> Token<T> { + fn as_ref(_: i32, _: i32) -> _ { + //~^ ERROR the placeholder `_` is not allowed within types on item signatures for return types + //~| NOTE not allowed in type signatures + //~| HELP replace with the correct return type + Token(PhantomData::<&T>) + } +} + +fn main() {} diff --git a/src/test/ui/suggestions/return-cycle-2.stderr b/src/test/ui/suggestions/return-cycle-2.stderr new file mode 100644 index 00000000000..3a1a0f7f4f5 --- /dev/null +++ b/src/test/ui/suggestions/return-cycle-2.stderr @@ -0,0 +1,12 @@ +error[E0121]: the placeholder `_` is not allowed within types on item signatures for return types + --> $DIR/return-cycle-2.rs:6:34 + | +LL | fn as_ref(_: i32, _: i32) -> _ { + | ^ + | | + | not allowed in type signatures + | help: replace with the correct return type: `Token<&'static T>` + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0121`. diff --git a/src/test/ui/suggestions/return-cycle.rs b/src/test/ui/suggestions/return-cycle.rs new file mode 100644 index 00000000000..60b80e35a20 --- /dev/null +++ b/src/test/ui/suggestions/return-cycle.rs @@ -0,0 +1,14 @@ +use std::marker::PhantomData; + +struct Token<T>(PhantomData<T>); + +impl<T> Token<T> { + fn new() -> _ { + //~^ ERROR the placeholder `_` is not allowed within types on item signatures for return types + //~| NOTE not allowed in type signatures + //~| HELP replace with the correct return type + Token(PhantomData::<()>) + } +} + +fn main() {} diff --git a/src/test/ui/suggestions/return-cycle.stderr b/src/test/ui/suggestions/return-cycle.stderr new file mode 100644 index 00000000000..63fa9e04087 --- /dev/null +++ b/src/test/ui/suggestions/return-cycle.stderr @@ -0,0 +1,12 @@ +error[E0121]: the placeholder `_` is not allowed within types on item signatures for return types + --> $DIR/return-cycle.rs:6:17 + | +LL | fn new() -> _ { + | ^ + | | + | not allowed in type signatures + | help: replace with the correct return type: `Token<()>` + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0121`. |
