cannot use an `as` expression to coerce, so I used a one-off function instead (this is a no-op in stage0, but in stage1+ it triggers coercion from the fn pointer to the fn item type).
This breaks code like: struct A<'a> { func: &'a fn() -> Option<int> } fn foo() -> Option<int> { ... } fn create() -> A<'static> { A { func: &foo } } Change this code to not take functions by reference. For example: struct A { func: extern "Rust" fn() -> Option<int> } fn foo() -> Option<int> { ... } fn create() -> A { A { func: foo } } Closes #13595. [breaking-change]