diff options
| author | Yuki Okushi <jtitor@2k36.org> | 2022-02-03 22:20:24 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-02-03 22:20:24 +0900 |
| commit | 2fe9f763d08cf493896262da0533fd1a3c8ae3dd (patch) | |
| tree | 2a6f4e7f881a372fd1ba43468580d734f56aa66d /src/test | |
| parent | 9298bd8197ebffac1d310ff90f5845a30a512a23 (diff) | |
| parent | 73ad8df70d94d318fea0df3079504bd23e5b4901 (diff) | |
Rollup merge of #92802 - compiler-errors:deduplicate-stack-trace, r=oli-obk
Deduplicate lines in long const-eval stack trace Lemme know if this is kinda overkill, lol. Fixes #92796
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/consts/recursive.rs | 11 | ||||
| -rw-r--r-- | src/test/ui/consts/recursive.stderr | 31 |
2 files changed, 42 insertions, 0 deletions
diff --git a/src/test/ui/consts/recursive.rs b/src/test/ui/consts/recursive.rs new file mode 100644 index 00000000000..664940c52cf --- /dev/null +++ b/src/test/ui/consts/recursive.rs @@ -0,0 +1,11 @@ +#![allow(unused)] + +const fn f<T>(x: T) { //~ WARN function cannot return without recursing + f(x); + //~^ ERROR any use of this value will cause an error + //~| WARN this was previously accepted by the compiler +} + +const X: () = f(1); + +fn main() {} diff --git a/src/test/ui/consts/recursive.stderr b/src/test/ui/consts/recursive.stderr new file mode 100644 index 00000000000..31ac1fff4e8 --- /dev/null +++ b/src/test/ui/consts/recursive.stderr @@ -0,0 +1,31 @@ +warning: function cannot return without recursing + --> $DIR/recursive.rs:3:1 + | +LL | const fn f<T>(x: T) { + | ^^^^^^^^^^^^^^^^^^^ cannot return without recursing +LL | f(x); + | ---- recursive call site + | + = note: `#[warn(unconditional_recursion)]` on by default + = help: a `loop` may express intention better if this is on purpose + +error: any use of this value will cause an error + --> $DIR/recursive.rs:4:5 + | +LL | f(x); + | ^^^^ + | | + | reached the configured maximum number of stack frames + | inside `f::<i32>` at $DIR/recursive.rs:4:5 + | [... 126 additional calls inside `f::<i32>` at $DIR/recursive.rs:4:5 ...] + | inside `X` at $DIR/recursive.rs:9:15 +... +LL | const X: () = f(1); + | ------------------- + | + = note: `#[deny(const_err)]` on by default + = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! + = note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800> + +error: aborting due to previous error; 1 warning emitted + |
