Description
c16d3f3 has made it impossible to import some structures in rustc_mir_framework
when implementing dataflow analyses in external tools.
When implementing AnalysisDomain
for a custom dataflow problem, we can no longer import the Forward
or Backward
direction. Here is the source code of such an implementation. Forward
is needed to set the Direction
type of the AnalysisDomain
trait. Previously, it was available under the pub use
export, but for now it is private.
The default implementation of the AnalysisDomain::Direction
is Forward
, so I can simply use the default value as a workaround. However, if I need to write a backward analysis, I must rewrite some parts of the framework in our source code because they cannot be imported.
There are other tools in the ecosystem that use that API, e.g.:
These changes will make problems if they decide to update to the recent toolchain.
Could you please take a look at this matter? Are these changes intentional? Could we make some of the exports public again?
cc @nnethercote