]> git.proxmox.com Git - rustc.git/blame - src/test/ui/issues/issue-36744-bitcast-args-if-needed.rs
New upstream version 1.67.1+dfsg1
[rustc.git] / src / test / ui / issues / issue-36744-bitcast-args-if-needed.rs
CommitLineData
b7449926 1// run-pass
1bb2cb6e
SL
2// This tests for an ICE (and, if ignored, subsequent LLVM abort) when
3// a lifetime-parametric fn is passed into a context whose expected
4// type has a differing lifetime parameterization.
5
6struct A<'a> {
7 _a: &'a i32,
8}
9
10fn call<T>(s: T, functions: &Vec<for <'n> fn(&'n T)>) {
11 for function in functions {
12 function(&s);
13 }
14}
15
16fn f(a: &A) { println!("a holds {}", a._a); }
17
18fn main() {
19 let a = A { _a: &10 };
20
21 let vec: Vec<for <'u,'v> fn(&'u A<'v>)> = vec![f];
22 call(a, &vec);
23}