<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_parse/src/errors.rs, branch 1.78.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.78.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.78.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2024-03-10T23:04:49+00:00</updated>
<entry>
<title>Rename `AddToDiagnostic` as `Subdiagnostic`.</title>
<updated>2024-03-10T23:04:49+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2024-03-06T03:00:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=541d7cc65c56402f31335e41075838c0da5fbe01'/>
<id>urn:sha1:541d7cc65c56402f31335e41075838c0da5fbe01</id>
<content type='text'>
To match `derive(Subdiagnostic)`.

Also rename `add_to_diagnostic{,_with}` as `add_to_diag{,_with}`.
</content>
</entry>
<entry>
<title>Rename `IntoDiagnostic` as `Diagnostic`.</title>
<updated>2024-03-10T22:15:09+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2024-03-06T00:02:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7a294e998b66ea6d410a6840cba80347fc4764c2'/>
<id>urn:sha1:7a294e998b66ea6d410a6840cba80347fc4764c2</id>
<content type='text'>
To match `derive(Diagnostic)`.

Also rename `into_diagnostic` as `into_diag`.
</content>
</entry>
<entry>
<title>Rename `SubdiagnosticMessageOp` as `SubdiagMessageOp`.</title>
<updated>2024-03-05T01:14:49+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2024-02-29T05:18:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=573267cf3c10c13f4cb3b9935affd05925d938d0'/>
<id>urn:sha1:573267cf3c10c13f4cb3b9935affd05925d938d0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove unused diagnostic struct</title>
<updated>2024-02-29T06:14:21+00:00</updated>
<author>
<name>r0cky</name>
<email>mu001999@outlook.com</email>
</author>
<published>2024-02-29T06:00:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1850ba7f548d13b7849bb8686728a113c0e6fb09'/>
<id>urn:sha1:1850ba7f548d13b7849bb8686728a113c0e6fb09</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename `DiagnosticBuilder` as `Diag`.</title>
<updated>2024-02-27T21:55:35+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2024-02-22T23:20:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=899cb40809a85eb9d89f6da3268713b83175360a'/>
<id>urn:sha1:899cb40809a85eb9d89f6da3268713b83175360a</id>
<content type='text'>
Much better!

Note that this involves renaming (and updating the value of)
`DIAGNOSTIC_BUILDER` in clippy.
</content>
</entry>
<entry>
<title>Make some `IntoDiagnostic` impls generic.</title>
<updated>2024-02-22T02:47:30+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2024-02-22T01:36:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=02423a5747f4b23cf1e4f51e5ec969887bf8be72'/>
<id>urn:sha1:02423a5747f4b23cf1e4f51e5ec969887bf8be72</id>
<content type='text'>
PR #119097 made the decision to make all `IntoDiagnostic` impls generic,
because this allowed a bunch of nice cleanups. But four hand-written
impls were unintentionally overlooked. This commit makes them generic.
</content>
</entry>
<entry>
<title>Support async trait bounds in macros</title>
<updated>2024-02-20T16:09:09+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2024-02-20T16:09:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9c8b107955194b80941ce825646bc2f34edc5dd5'/>
<id>urn:sha1:9c8b107955194b80941ce825646bc2f34edc5dd5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Reduce capabilities of `Diagnostic`.</title>
<updated>2024-02-20T02:22:17+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2024-02-06T05:44:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f6f87798439e2ce7861da761b444fe0978335ed9'/>
<id>urn:sha1:f6f87798439e2ce7861da761b444fe0978335ed9</id>
<content type='text'>
Currently many diagnostic modifier methods are available on both
`Diagnostic` and `DiagnosticBuilder`. This commit removes most of them
from `Diagnostic`. To minimize the diff size, it keeps them within
`diagnostic.rs` but changes the surrounding `impl Diagnostic` block to
`impl DiagnosticBuilder`. (I intend to move things around later, to give
a more sensible code layout.)

`Diagnostic` keeps a few methods that it still needs, like `sub`,
`arg`, and `replace_args`.

The `forward!` macro, which defined two additional methods per call
(e.g. `note` and `with_note`), is replaced by the `with_fn!` macro,
which defines one additional method per call (e.g. `with_note`). It's
now also only used when necessary -- not all modifier methods currently
need a `with_*` form. (New ones can be easily added as necessary.)

All this also requires changing `trait AddToDiagnostic` so its methods
take `DiagnosticBuilder` instead of `Diagnostic`, which leads to many
mechanical changes. `SubdiagnosticMessageOp` gains a type parameter `G`.

There are three subdiagnostics -- `DelayedAtWithoutNewline`,
`DelayedAtWithNewline`, and `InvalidFlushedDelayedDiagnosticLevel` --
that are created within the diagnostics machinery and appended to
external diagnostics. These are handled at the `Diagnostic` level, which
means it's now hard to construct them via `derive(Diagnostic)`, so
instead we construct them by hand. This has no effect on what they look
like when printed.

There are lots of new `allow` markers for `untranslatable_diagnostics`
and `diagnostics_outside_of_impl`. This is because
`#[rustc_lint_diagnostics]` annotations were present on the `Diagnostic`
modifier methods, but missing from the `DiagnosticBuilder` modifier
methods. They're now present.
</content>
</entry>
<entry>
<title>Use better heuristic for printing Cargo specific diagnostics</title>
<updated>2024-02-17T15:49:01+00:00</updated>
<author>
<name>Urgau</name>
<email>urgau@numericable.fr</email>
</author>
<published>2024-02-17T15:45:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d988d8f4ba069e11ace537feea4e4e226e7f4afe'/>
<id>urn:sha1:d988d8f4ba069e11ace537feea4e4e226e7f4afe</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add `SubdiagnosticMessageOp` as a trait alias.</title>
<updated>2024-02-08T02:02:44+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2024-02-06T05:35:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6b175a848d72f0ea60d80de3bd74d0806a64c40f'/>
<id>urn:sha1:6b175a848d72f0ea60d80de3bd74d0806a64c40f</id>
<content type='text'>
It avoids a lot of repetition.
</content>
</entry>
</feed>
