//! Verify that we correctly handle fn pointer provenance in MIR optimizations. //! By asking to inline `static_fnptr::bar`, we have two copies of `static_fnptr::foo`, one in the //! auxiliary crate and one in the local crate CGU. //! `baz` must only consider the versions from upstream crate, and not try to compare with the //! address of the CGU-local copy. //! Related issue: #123670 //@ run-pass //@ compile-flags:-Cno-prepopulate-passes -Copt-level=0 //@ aux-build:static_fnptr.rs extern crate static_fnptr; use static_fnptr::{ADDR, bar}; fn baz() -> bool { bar(ADDR) } fn main() { assert!(baz()) }