c763ebc72f
Unify `tcx.constness` query and param env constness checks The checks that we do in the `constness` query seem inconsistent with the checks that we do to determine if an item's param-env is const, so I merged them into the `constness` query and call that from the `param_env` query. I'm not sure if this totally makes sense -- is there a case where `tcx.param_env()` would return a const param-env for an item whose `tcx.constness()` is `Constness::NotConst`? Because if not, it seems a bit dangerous that these two differ. Luckily, not many places actually use `tcx.constness()`, and the checks in `tcx.param_env()` seem stricter than the checks in `tcx.constness()` (at least for the types of items we type-check). Also, due to the way that `tcx.param_env()` is implemented, it _never_ used to return a const param-env for a item coming from a different crate, which also seems dangerous (though also probably not weaponizable currently, because we seldom actually compute the param-env for a non-local item). |
||
---|---|---|
.. | ||
abi.rs | ||
assoc.rs | ||
common_traits.rs | ||
consts.rs | ||
errors.rs | ||
implied_bounds.rs | ||
instance.rs | ||
layout_sanity_check.rs | ||
layout.rs | ||
lib.rs | ||
needs_drop.rs | ||
representability.rs | ||
ty.rs |