blob: d0cadcd2c70a91c737a192d1b3bd799058d546fc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#![allow(unpredictable_function_pointer_comparisons)]
type BuiltIn = for<'a> fn(&str);
struct Function {
inner: BuiltIn,
}
impl Function {
fn new(subr: BuiltIn) -> Self {
Self { inner: subr }
}
}
#[inline(never)]
fn dummy(_: &str) {}
fn main() {
let func1 = Function::new(dummy);
let func2 = Function::new(dummy);
let inner: fn(&'static _) -> _ = func1.inner;
assert!(inner == func2.inner);
}
|