1
Fork 0
Jack Wrenn 2022-07-21 17:28:24 +00:00
parent 0fa70c3b12
commit c0d0ce95eb
5 changed files with 16 additions and 21 deletions

View file

@ -64,7 +64,7 @@ mod rustc {
impl<'tcx> MaybeTransmutableQuery<Ty<'tcx>, TyCtxt<'tcx>> {
/// This method begins by converting `src` and `dst` from `Ty`s to `Tree`s,
/// then computes an answer using those trees.
#[tracing::instrument(skip(self), fields(src = ?self.src, dst = ?self.dst))]
#[instrument(level = "DEBUG", skip(self), fields(src = ?self.src, dst = ?self.dst))]
pub fn answer(self) -> Answer<<TyCtxt<'tcx> as QueryContext>::Ref> {
let query_or_answer = self.map_layouts(|src, dst, scope, &context| {
// Convert `src` and `dst` from their rustc representations, to `Tree`-based
@ -103,14 +103,14 @@ where
/// This method begins by de-def'ing `src` and `dst`, and prunes private paths from `dst`,
/// then converts `src` and `dst` to `Nfa`s, and computes an answer using those NFAs.
#[inline(always)]
#[tracing::instrument(skip(self), fields(src = ?self.src, dst = ?self.dst))]
#[instrument(level = "DEBUG", skip(self), fields(src = ?self.src, dst = ?self.dst))]
pub(crate) fn answer(self) -> Answer<<C as QueryContext>::Ref> {
let assume_visibility = self.assume.visibility;
let query_or_answer = self.map_layouts(|src, dst, scope, context| {
// Remove all `Def` nodes from `src`, without checking their visibility.
let src = src.prune(&|def| true);
tracing::trace!(src = ?src, "pruned src");
tracing::trace!(?src, "pruned src");
// Remove all `Def` nodes from `dst`, additionally...
let dst = if assume_visibility {
@ -121,7 +121,7 @@ where
dst.prune(&|def| context.is_accessible_from(def, scope))
};
tracing::trace!(dst = ?dst, "pruned dst");
tracing::trace!(?dst, "pruned dst");
// Convert `src` from a tree-based representation to an NFA-based representation.
// If the conversion fails because `src` is uninhabited, conclude that the transmutation
@ -152,7 +152,7 @@ where
///
/// This method converts `src` and `dst` to DFAs, then computes an answer using those DFAs.
#[inline(always)]
#[tracing::instrument(skip(self), fields(src = ?self.src, dst = ?self.dst))]
#[instrument(level = "DEBUG", skip(self), fields(src = ?self.src, dst = ?self.dst))]
pub(crate) fn answer(self) -> Answer<<C as QueryContext>::Ref> {
let query_or_answer = self
.map_layouts(|src, dst, scope, context| Ok((Dfa::from_nfa(src), Dfa::from_nfa(dst))));
@ -192,7 +192,7 @@ where
}
#[inline(always)]
#[tracing::instrument(skip(self))]
#[instrument(level = "DEBUG", skip(self))]
fn answer_memo(
&self,
cache: &mut Map<(dfa::State, dfa::State), Answer<<C as QueryContext>::Ref>>,

View file

@ -52,7 +52,7 @@ mod rustc {
type Scope = Ty<'tcx>;
#[tracing::instrument(skip(self))]
#[instrument(level = "DEBUG", skip(self))]
fn is_accessible_from(&self, def: Self::Def, scope: Self::Scope) -> bool {
use layout::rustc::Def;
use rustc_middle::ty;
@ -82,7 +82,7 @@ mod rustc {
false
};
tracing::trace!(ret = ?ret, "ret");
tracing::trace!(?ret, "ret");
ret
}