about summary refs log tree commit diff
path: root/compiler/rustc_errors/src/styled_buffer.rs
diff options
context:
space:
mode:
authorNicholas Nethercote <n.nethercote@gmail.com>2024-02-02 15:44:22 +1100
committerNicholas Nethercote <n.nethercote@gmail.com>2024-02-05 21:27:01 +1100
commitd9508a1fd2bdbc2f7c4e2ee28503f15487fdc8ce (patch)
tree4ade503df4e501752bbe7feb71f6d2f18b488891 /compiler/rustc_errors/src/styled_buffer.rs
parent4e3eed48926b8b70eee8beb082e37ffa4985c0ed (diff)
downloadrust-d9508a1fd2bdbc2f7c4e2ee28503f15487fdc8ce.tar.gz
rust-d9508a1fd2bdbc2f7c4e2ee28503f15487fdc8ce.zip
Make `Emitter::emit_diagnostic` consuming.
All the other `emit`/`emit_diagnostic` methods were recently made
consuming (e.g. #119606), but this one wasn't. But it makes sense to.

Much of this is straightforward, and lots of `clone` calls are avoided.
There are a couple of tricky bits.
- `Emitter::primary_span_formatted` no longer takes a `Diagnostic` and
  returns a pair. Instead it takes the two fields from `Diagnostic` that
  it used (`span` and `suggestions`) as `&mut`, and modifies them. This
  is necessary to avoid the cloning of `diag.children` in two emitters.
- `from_errors_diagnostic` is rearranged so various uses of `diag` occur
  before the consuming `emit_diagnostic` call.
Diffstat (limited to 'compiler/rustc_errors/src/styled_buffer.rs')
0 files changed, 0 insertions, 0 deletions