Skip to content

Commit 32f0db9

Browse files
authored
Rollup merge of #102393 - Rageking8:add-regression-test-for-issue-94923, r=JohnTitor
Add regression test for issue 94923 Fixes #94923
2 parents 3599e82 + 356a52c commit 32f0db9

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

src/test/ui/generics/issue-94923.rs

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
// run-pass
2+
// regression test for issue #94923
3+
// min-llvm-version: 15.0.0
4+
// compile-flags: -C opt-level=3
5+
6+
fn f0<T>(mut x: usize) -> usize {
7+
for _ in 0..1000 {
8+
x *= 123;
9+
x %= 99
10+
}
11+
x + 321 // function composition is not just longer iteration
12+
}
13+
14+
fn f1<T>(x: usize) -> usize {
15+
f0::<(i8, T)>(f0::<(u8, T)>(x))
16+
}
17+
18+
fn f2<T>(x: usize) -> usize {
19+
f1::<(i8, T)>(f1::<(u8, T)>(x))
20+
}
21+
22+
fn f3<T>(x: usize) -> usize {
23+
f2::<(i8, T)>(f2::<(u8, T)>(x))
24+
}
25+
26+
fn f4<T>(x: usize) -> usize {
27+
f3::<(i8, T)>(f3::<(u8, T)>(x))
28+
}
29+
30+
fn f5<T>(x: usize) -> usize {
31+
f4::<(i8, T)>(f4::<(u8, T)>(x))
32+
}
33+
34+
fn f6<T>(x: usize) -> usize {
35+
f5::<(i8, T)>(f5::<(u8, T)>(x))
36+
}
37+
38+
fn f7<T>(x: usize) -> usize {
39+
f6::<(i8, T)>(f6::<(u8, T)>(x))
40+
}
41+
42+
fn f8<T>(x: usize) -> usize {
43+
f7::<(i8, T)>(f7::<(u8, T)>(x))
44+
}
45+
46+
fn main() {
47+
let y = f8::<()>(1);
48+
assert_eq!(y, 348);
49+
}

0 commit comments

Comments
 (0)