blob: e56a5ece782b5804a44ca2abc615f45541a6be6f [file] [log] [blame]
warning: sharing memory with a native function called via FFI
--> tests/native-lib/fail/call_function_ptr.rs:LL:CC
|
LL | call_fn_ptr(Some(nop));
| ^^^^^^^^^^^^^^^^^^^^^^ sharing memory with a native function
|
= help: when memory is shared with a native function call, Miri can only track initialisation and provenance on a best-effort basis
= help: in particular, Miri assumes that the native call initializes all memory it has written to
= help: Miri also assumes that any part of this memory may be a pointer that is permitted to point to arbitrary exposed memory
= help: what this means is that Miri will easily miss Undefined Behavior related to incorrect usage of this shared memory, so you should not take a clean Miri run as a signal that your FFI code is UB-free
= help: tracing memory accesses in native code is not yet fully implemented, so there can be further imprecisions beyond what is documented here
= note: stack backtrace:
0: pass_fn_ptr
at tests/native-lib/fail/call_function_ptr.rs:LL:CC
1: main
at tests/native-lib/fail/call_function_ptr.rs:LL:CC
error: unsupported operation: calling a function pointer through the FFI boundary
--> tests/native-lib/fail/call_function_ptr.rs:LL:CC
|
LL | call_fn_ptr(Some(nop));
| ^^^^^^^^^^^^^^^^^^^^^^ unsupported operation occurred here
|
= help: this is likely not a bug in the program; it indicates that the program performed an operation that Miri does not support
= note: stack backtrace:
0: pass_fn_ptr
at tests/native-lib/fail/call_function_ptr.rs:LL:CC
1: main
at tests/native-lib/fail/call_function_ptr.rs:LL:CC
note: some details are omitted, run with `MIRIFLAGS=-Zmiri-backtrace=full` for a verbose backtrace