Skip to content

Commit 65b3a30

Browse files
Add fatal overflow test
1 parent 3722788 commit 65b3a30

File tree

2 files changed

+40
-0
lines changed

2 files changed

+40
-0
lines changed
+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// normalize-stderr-test "the requirement `.*`" -> "the requirement `...`"
2+
// normalize-stderr-test "required for `.*` to implement `.*`" -> "required for `...` to implement `...`"
3+
4+
// Currently this fatally aborts instead of hanging.
5+
// Make sure at least that this doesn't turn into a hang.
6+
7+
fn f() {
8+
foo::<_>();
9+
//~^ ERROR overflow evaluating the requirement
10+
}
11+
12+
fn foo<B>()
13+
where
14+
Vec<[[[B; 1]; 1]; 1]>: PartialEq<B>,
15+
{
16+
}
17+
18+
fn main() {}
+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
error[E0275]: overflow evaluating the requirement `...`
2+
--> $DIR/hang-in-overflow.rs:8:5
3+
|
4+
LL | foo::<_>();
5+
| ^^^^^^^^
6+
|
7+
= help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`hang_in_overflow`)
8+
= note: required for `...` to implement `...`
9+
= note: 127 redundant requirements hidden
10+
= note: required for `...` to implement `...`
11+
note: required by a bound in `foo`
12+
--> $DIR/hang-in-overflow.rs:14:28
13+
|
14+
LL | fn foo<B>()
15+
| --- required by a bound in this
16+
LL | where
17+
LL | Vec<[[[B; 1]; 1]; 1]>: PartialEq<B>,
18+
| ^^^^^^^^^^^^ required by this bound in `foo`
19+
20+
error: aborting due to previous error
21+
22+
For more information about this error, try `rustc --explain E0275`.

0 commit comments

Comments
 (0)