Skip to content

Commit 2a87896

Browse files
committed
Move test #93775 to crashes
1 parent 6076bee commit 2a87896

File tree

3 files changed

+38
-34
lines changed

3 files changed

+38
-34
lines changed

src/tools/tidy/src/issues.txt

-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ ui/associated-consts/issue-58022.rs
4444
ui/associated-consts/issue-63496.rs
4545
ui/associated-consts/issue-69020-assoc-const-arith-overflow.rs
4646
ui/associated-consts/issue-88599-ref-self.rs
47-
ui/associated-consts/issue-93775.rs
4847
ui/associated-consts/issue-93835.rs
4948
ui/associated-inherent-types/issue-104260.rs
5049
ui/associated-inherent-types/issue-109071.rs
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
//! This test case is modified from <https://github.com/rust-lang/rust/issues/93775>.
2+
//! The type printing involves recursive calls that lead to stack overflow.
3+
//! If it no longer crashes, please increase the nested type levels
4+
//! unless you are fixing this issue.
5+
//@ known-bug: #93775
6+
7+
#![recursion_limit = "2049"]
8+
9+
use std::marker::PhantomData;
10+
11+
struct Z;
12+
struct S<T>(PhantomData<T>);
13+
14+
type Nested4<T> = S<S<S<S<T>>>>;
15+
type Nested16<T> = Nested4<Nested4<Nested4<Nested4<T>>>>;
16+
type Nested64<T> = Nested16<Nested16<Nested16<Nested16<T>>>>;
17+
type Nested256<T> = Nested64<Nested64<Nested64<Nested64<T>>>>;
18+
type Nested1024<T> = Nested256<Nested256<Nested256<Nested256<T>>>>;
19+
type Nested4096<T> = Nested1024<Nested1024<Nested1024<Nested1024<T>>>>;
20+
type Nested16384<T> = Nested4096<Nested4096<Nested4096<Nested4096<T>>>>;
21+
22+
type Nested = Nested16384<Z>;
23+
24+
trait AsNum {
25+
const NUM: u32;
26+
}
27+
28+
impl AsNum for Z {
29+
const NUM: u32 = 0;
30+
}
31+
32+
impl<T: AsNum> AsNum for S<T> {
33+
const NUM: u32 = T::NUM + 1;
34+
}
35+
36+
fn main() {
37+
let _ = Nested::NUM;
38+
}

tests/ui/associated-consts/issue-93775.rs

-33
This file was deleted.

0 commit comments

Comments
 (0)