File tree Expand file tree Collapse file tree 3 files changed +38
-34
lines changed Expand file tree Collapse file tree 3 files changed +38
-34
lines changed Original file line number Diff line number Diff line change @@ -44,7 +44,6 @@ ui/associated-consts/issue-58022.rs
4444ui/associated-consts/issue-63496.rs
4545ui/associated-consts/issue-69020-assoc-const-arith-overflow.rs
4646ui/associated-consts/issue-88599-ref-self.rs
47- ui/associated-consts/issue-93775.rs
4847ui/associated-consts/issue-93835.rs
4948ui/associated-inherent-types/issue-104260.rs
5049ui/associated-inherent-types/issue-109071.rs
Original file line number Diff line number Diff line change 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+ }
Load Diff This file was deleted.
You can’t perform that action at this time.
0 commit comments