mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-23 07:14:28 +00:00
Rollup merge of #123478 - maurer:cfi-call-once-addr-taken, r=compiler-errors
CFI: Add test for `call_once` addr taken One of the proposed ways to reduce the non-passed argument erasure would cause this test to fail. Adding this now ensures that any attempt to reduce non-passed argument erasure won't make the same mistake. r? `@compiler-errors` cc `@rcvalle`
This commit is contained in:
commit
e8b0c30578
@ -77,3 +77,14 @@ fn closure_addr_taken() {
|
||||
let call = Fn::<()>::call;
|
||||
use_closure(call, &f);
|
||||
}
|
||||
|
||||
fn use_closure_once<C>(call: extern "rust-call" fn(C, ()) -> i32, f: C) -> i32 {
|
||||
call(f, ())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn closure_once_addr_taken() {
|
||||
let g = || 3;
|
||||
let call2 = FnOnce::<()>::call_once;
|
||||
use_closure_once(call2, g);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user