Get rid of mir::Const::from_ty_const by compiler-errors · Pull Request #135753 · rust-lang/rust (original) (raw)

This function is strange, because it turns valtrees into mir::Const::Value, but the rest of the const variants stay as type system consts.

All of the callsites except for one in instsimplify (array length simplification of ptr_metadata call) just go through the valtree arm of the function, so it's easier to just create a mir::Const directly for those.

For the instsimplify case, if we have a type system const we should keep having a type system const, rather than turning it into a mir::Const::Value; it doesn't really matter in practice, though, bc usize has no padding, but it feels more principled.