remove remaining references to Reveal
This commit is contained in:
parent
319843d8cd
commit
a8c8ab1acd
34 changed files with 93 additions and 84 deletions
|
@ -629,8 +629,7 @@ impl<'tcx> Body<'tcx> {
|
|||
) -> Option<(u128, &'a SwitchTargets)> {
|
||||
// There are two places here we need to evaluate a constant.
|
||||
let eval_mono_const = |constant: &ConstOperand<'tcx>| {
|
||||
// FIXME(#132279): what is this, why are we using an empty environment with
|
||||
// `RevealAll` here.
|
||||
// FIXME(#132279): what is this, why are we using an empty environment here.
|
||||
let typing_env = ty::TypingEnv::fully_monomorphized();
|
||||
let mono_literal = instance.instantiate_mir_and_normalize_erasing_regions(
|
||||
tcx,
|
||||
|
|
|
@ -1373,9 +1373,10 @@ rustc_queries! {
|
|||
/// Gets the ParameterEnvironment for a given item; this environment
|
||||
/// will be in "user-facing" mode, meaning that it is suitable for
|
||||
/// type-checking etc, and it does not normalize specializable
|
||||
/// associated types. This is almost always what you want,
|
||||
/// unless you are doing MIR optimizations, in which case you
|
||||
/// might want to use `reveal_all()` method to change modes.
|
||||
/// associated types.
|
||||
///
|
||||
/// You should pretty much only use this if an `infcx` is available,
|
||||
/// otherwise use a `TypingEnv`.
|
||||
query param_env(def_id: DefId) -> ty::ParamEnv<'tcx> {
|
||||
desc { |tcx| "computing normalized predicates of `{}`", tcx.def_path_str(def_id) }
|
||||
feedable
|
||||
|
@ -1471,7 +1472,7 @@ rustc_queries! {
|
|||
}
|
||||
|
||||
/// Computes the layout of a type. Note that this implicitly
|
||||
/// executes in "reveal all" mode, and will normalize the input type.
|
||||
/// executes in `TypingMode::PostAnalysis`, and will normalize the input type.
|
||||
query layout_of(
|
||||
key: ty::PseudoCanonicalInput<'tcx, Ty<'tcx>>
|
||||
) -> Result<ty::layout::TyAndLayout<'tcx>, &'tcx ty::layout::LayoutError<'tcx>> {
|
||||
|
|
|
@ -504,8 +504,8 @@ impl<'tcx> Instance<'tcx> {
|
|||
/// ```
|
||||
///
|
||||
/// trying to resolve `Debug::fmt` applied to `T` will yield `Ok(None)`, because we do not
|
||||
/// know what code ought to run. (Note that this setting is also affected by the
|
||||
/// `RevealMode` in the parameter environment.)
|
||||
/// know what code ought to run. This setting is also affected by the current `TypingMode`
|
||||
/// of the environment.
|
||||
///
|
||||
/// Presuming that coherence and type-check have succeeded, if this method is invoked
|
||||
/// in a monomorphic context (i.e., like during codegen), then it is guaranteed to return
|
||||
|
|
|
@ -682,14 +682,14 @@ pub trait LayoutOfHelpers<'tcx>: HasDataLayout + HasTyCtxt<'tcx> + HasTypingEnv<
|
|||
/// Blanket extension trait for contexts that can compute layouts of types.
|
||||
pub trait LayoutOf<'tcx>: LayoutOfHelpers<'tcx> {
|
||||
/// Computes the layout of a type. Note that this implicitly
|
||||
/// executes in "reveal all" mode, and will normalize the input type.
|
||||
/// executes in `TypingMode::PostAnalysis`, and will normalize the input type.
|
||||
#[inline]
|
||||
fn layout_of(&self, ty: Ty<'tcx>) -> Self::LayoutOfResult {
|
||||
self.spanned_layout_of(ty, DUMMY_SP)
|
||||
}
|
||||
|
||||
/// Computes the layout of a type, at `span`. Note that this implicitly
|
||||
/// executes in "reveal all" mode, and will normalize the input type.
|
||||
/// executes in `TypingMode::PostAnalysis`, and will normalize the input type.
|
||||
// FIXME(eddyb) avoid passing information like this, and instead add more
|
||||
// `TyCtxt::at`-like APIs to be able to do e.g. `cx.at(span).layout_of(ty)`.
|
||||
#[inline]
|
||||
|
|
|
@ -423,8 +423,8 @@ impl<'tcx> TyCtxt<'tcx> {
|
|||
pub fn async_drop_glue_morphology(self, did: DefId) -> AsyncDropGlueMorphology {
|
||||
let ty: Ty<'tcx> = self.type_of(did).instantiate_identity();
|
||||
|
||||
// Async drop glue morphology is an internal detail, so reveal_all probably
|
||||
// should be fine
|
||||
// Async drop glue morphology is an internal detail, so
|
||||
// using `TypingMode::PostAnalysis` probably should be fine.
|
||||
let typing_env = ty::TypingEnv::fully_monomorphized();
|
||||
if ty.needs_async_drop(self, typing_env) {
|
||||
AsyncDropGlueMorphology::Custom
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue