Running the test suite with
-Zvalidate-mir enabled I'm getting a lot of errors about incorrect callee types:
error: internal compiler error: broken MIR in DefId(1:2106 ~ core[66db]::ops::function::FnMut::call_mut) (input to phase Const) at bb0: encountered non-callable type Self in `Call` terminator --> /home/jonas/dev/rust/src/libcore/ops/function.rs:154:5 | 154 | extern "rust-call" fn call_mut(&mut self, args: Args) -> Self::Output; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Presumably it needs to accept
Self as well there?
I have a fix that I'll roll into my next PR for the validator
Sounds to me like it has to normalzie more
Self is not something you can actually call (Miri would ICE on such MIR)
is it not generic?
I mean validation happens on generic MIR at least, and I'm not sure there's a subst for
(I'm not actually sure what function this is, probably an
build_call_shim should probably substitute the actual type for
Self, it has it available.