]> git.lizzy.rs Git - rust.git/commitdiff
Rollup merge of #94270 - RalfJung:fn-ptrs, r=oli-obk
authorMatthias Krüger <matthias.krueger@famsik.de>
Thu, 24 Feb 2022 06:48:06 +0000 (07:48 +0100)
committerGitHub <noreply@github.com>
Thu, 24 Feb 2022 06:48:06 +0000 (07:48 +0100)
Miri: relax fn ptr check

As discussed in https://github.com/rust-lang/unsafe-code-guidelines/issues/72#issuecomment-1025407536, the function pointer check done by Miri is currently overeager: contrary to our usual principle of only checking rather uncontroversial validity invariants, we actually check that the pointer points to a real function.

So, this relaxes the check to what the validity invariant probably will be (and what the reference already says it is): the function pointer must be non-null, and that's it.

The check that CTFE does on the final value of a constant is unchanged -- CTFE recurses through references, so it makes some sense to also recurse through function pointers. We might still want to relax this in the future, but that would be a separate change.

r? `@oli-obk`


Trivial merge