File tree 3 files changed +38
-34
lines changed
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
44
44
ui/associated-consts/issue-63496.rs
45
45
ui/associated-consts/issue-69020-assoc-const-arith-overflow.rs
46
46
ui/associated-consts/issue-88599-ref-self.rs
47
- ui/associated-consts/issue-93775.rs
48
47
ui/associated-consts/issue-93835.rs
49
48
ui/associated-inherent-types/issue-104260.rs
50
49
ui/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