Open
1 of 2 issues completedDescription
#131856 transitions the type system from separately tracking the Reveal
in the ParamEnv
, and intercrate
and defining_opaque_types
in the InferCtxt
to tracking all of that state in a shared enum TypingMode
as a field on the InferCtxt
.
This is a necessary step towards correctly handling opaque types after type inference, but during analysis. This needs a separate typing mode where we reveal the opaque types defined by that body without accidentally trying to define them. It may also be used to properly support negative reasoning in coherence.
This issue is mostly used to get something to point to in FIXME
s.
- for perf: modify const_eval queries to be named
_raw
, take aParamEnv
and have wrappers which assert that the typing_mode isPostAnalysis
. - perrrf: intern
typing_mode