Closed
Description
Since #61814 we have a strange condition in the Miri/interpreter code that checks if a function got called with appropriate arguments: !callee_layout.abi.is_uninhabited()
got replaced by !self.tcx.is_ty_uninhabited_from_any_module(ty)
. That's really strange, the layout should contain all the information we need for execution, and module boundaries certainly shouldn't matter for the call ABI. So I don't think this change is right, at least not for Miri. Unfortunately, there is 0 explanation of the "why" in that PR and in the code. It also does fix an ICE.
Is this a case of running the interpreter on untyped code? Or why does looking at the layout not work?