about summary refs log tree commit diff
path: root/compiler/rustc_codegen_gcc/example/alloc_system.rs
diff options
context:
space:
mode:
authorNicholas Nethercote <n.nethercote@gmail.com>2024-10-31 12:33:12 +1100
committerNicholas Nethercote <n.nethercote@gmail.com>2024-11-05 10:18:03 +1100
commitc904c6aaffa10f92e8f203f69bd8b87b0b0f4353 (patch)
tree91a5355a20309878077c3a8cc4f1e18583b525dc /compiler/rustc_codegen_gcc/example/alloc_system.rs
parent3350edf8fdcab10b60bf8173bd3b1551f567cd44 (diff)
downloadrust-c904c6aaffa10f92e8f203f69bd8b87b0b0f4353.tar.gz
rust-c904c6aaffa10f92e8f203f69bd8b87b0b0f4353.zip
Remove `ResultsVisitable`.
Now that `Results` is the only impl of `ResultsVisitable`, the trait can
be removed. This simplifies things by removining unnecessary layers of
indirection and abstraction.

- `ResultsVisitor` is simpler.
  - Its type parameter changes from `R` (an analysis result) to the
    simpler `A` (an analysis).
  - It no longer needs the `Domain` associated type, because it can use
    `A::Domain`.
  - Occurrences of `R` become `Results<'tcx, A>`, because there is now
    only one kind of analysis results.

- `save_as_intervals` also changes type parameter from `R` to `A`.

- The `results.reconstruct_*` method calls are replaced with
  `results.analysis.apply_*` method calls, which are equivalent.

- `Direction::visit_results_in_block` is simpler, with a single generic
  param (`A`) instead of two (`D` and `R`/`F`, with a bound connecting
  them). Likewise for `visit_results`.

- The `ResultsVisitor` impls for `MirBorrowCtxt` and
  `StorageConflictVisitor` are now specific about the type of the
  analysis results they work with. They both used to have a type param
  `R` but they weren't genuinely generic. In both cases there was only a
  single results type that made sense to instantiate them with.
Diffstat (limited to 'compiler/rustc_codegen_gcc/example/alloc_system.rs')
0 files changed, 0 insertions, 0 deletions