<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_errors/src/diagnostic_impls.rs, branch beta</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=beta</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=beta'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-08-20T22:01:13+00:00</updated>
<entry>
<title>Move `IntoDiagArg` earlier in the dependency chains</title>
<updated>2025-08-20T22:01:13+00:00</updated>
<author>
<name>Josh Triplett</name>
<email>josh@joshtriplett.org</email>
</author>
<published>2025-08-14T07:28:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b65fab62999e96acd3683826ffd4140091f185f2'/>
<id>urn:sha1:b65fab62999e96acd3683826ffd4140091f185f2</id>
<content type='text'>
`rustc_errors` depends on numerous crates, solely to implement its
`IntoDiagArg` trait on types from those crates. Many crates depend on
`rustc_errors`, and it's on the critical path.

We can't swap things around to make all of those crates depend on
`rustc_errors` instead, because `rustc_errors` would end up in
dependency cycles.

Instead, move `IntoDiagArg` into `rustc_error_messages`, which has far
fewer dependencies, and then have most of these crates depend on
`rustc_error_messages`.

This allows `rustc_errors` to drop dependencies on several crates,
including the large `rustc_target`.

(This doesn't fully reduce dependency chains yet, as `rustc_errors`
still depends on `rustc_hir` which depends on `rustc_target`. That will
get fixed in a subsequent commit.)
</content>
</entry>
<entry>
<title>Port `#[custom_mir(..)]` to the new attribute system</title>
<updated>2025-08-15T09:19:29+00:00</updated>
<author>
<name>Sasha Pourcelot</name>
<email>sasha.pourcelot@protonmail.com</email>
</author>
<published>2025-08-10T07:44:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=51bccdd1ab0802dd5a55bd06e956c8d547bdec2d'/>
<id>urn:sha1:51bccdd1ab0802dd5a55bd06e956c8d547bdec2d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>remove rustc_attr_data_structures</title>
<updated>2025-07-31T12:19:27+00:00</updated>
<author>
<name>Jana Dönszelmann</name>
<email>jana@donsz.nl</email>
</author>
<published>2025-07-31T09:00:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e1d3ad89c7a2ad4f5d944a7fee1298ffe8c99645'/>
<id>urn:sha1:e1d3ad89c7a2ad4f5d944a7fee1298ffe8c99645</id>
<content type='text'>
</content>
</entry>
<entry>
<title>compiler: Parse `p-` specs in datalayout string, allow definition of custom default data address space</title>
<updated>2025-07-07T07:04:53+00:00</updated>
<author>
<name>Edoardo Marangoni</name>
<email>edoardo.marangoni@scisemi.com</email>
</author>
<published>2025-06-29T10:11:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=93f1201c0616672d71e640a0ad600d029448c40a'/>
<id>urn:sha1:93f1201c0616672d71e640a0ad600d029448c40a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move eager translation to a method on `Diag`</title>
<updated>2025-04-17T01:38:59+00:00</updated>
<author>
<name>Jake Goulding</name>
<email>jake.goulding@gmail.com</email>
</author>
<published>2025-03-21T14:09:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=01178849174bdff3e3e951827d9ea4884c23b758'/>
<id>urn:sha1:01178849174bdff3e3e951827d9ea4884c23b758</id>
<content type='text'>
This will allow us to eagerly translate messages on a top-level
diagnostic, such as a `LintDiagnostic`. As a bonus, we can remove the
awkward closure passed into Subdiagnostic and make better use of
`Into`.
</content>
</entry>
<entry>
<title>Fix rebase</title>
<updated>2025-02-25T17:27:22+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2025-02-25T17:27:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c550bee64148a8f702f5fd18d4da75b93832c4df'/>
<id>urn:sha1:c550bee64148a8f702f5fd18d4da75b93832c4df</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Teach structured errors to display short `Ty`</title>
<updated>2025-02-25T16:56:03+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2025-02-18T01:15:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d12ecaed558426ec7998816d64b240ea685a2a8f'/>
<id>urn:sha1:d12ecaed558426ec7998816d64b240ea685a2a8f</id>
<content type='text'>
Make it so that every structured error annotated with `#[derive(Diagnostic)]` that has a field of type `Ty&lt;'_&gt;`, the printing of that value into a `String` will look at the thread-local storage `TyCtxt` in order to shorten to a length appropriate with the terminal width. When this happen, the resulting error will have a note with the file where the full type name was written to.

```
error[E0618]: expected function, found `((..., ..., ..., ...), ..., ..., ...)``
 --&gt; long.rs:7:5
  |
6 | fn foo(x: D) { //~ `x` has type `(...
  |        - `x` has type `((..., ..., ..., ...), ..., ..., ...)`
7 |     x(); //~ ERROR expected function, found `(...
  |     ^--
  |     |
  |     call expression requires function
  |
  = note: the full name for the type has been written to 'long.long-type-14182675702747116984.txt'
  = note: consider using `--verbose` to print the full type name to the console
```
</content>
</entry>
<entry>
<title>Introduce new-style attribute parsers for several attributes</title>
<updated>2025-02-24T13:31:17+00:00</updated>
<author>
<name>Jana Dönszelmann</name>
<email>jana@donsz.nl</email>
</author>
<published>2025-02-09T21:49:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7e0f5b50168c63bd1879067c043559ef0f01671e'/>
<id>urn:sha1:7e0f5b50168c63bd1879067c043559ef0f01671e</id>
<content type='text'>
note: compiler compiles but librustdoc and clippy don't
</content>
</entry>
<entry>
<title>compiler: replace ExternAbi::name calls with formatters</title>
<updated>2025-02-12T03:42:47+00:00</updated>
<author>
<name>Jubilee Young</name>
<email>workingjubilee@gmail.com</email>
</author>
<published>2025-02-12T03:40:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=32fd1a7b7205d1f8ccf168c22dada83ea38e3adb'/>
<id>urn:sha1:32fd1a7b7205d1f8ccf168c22dada83ea38e3adb</id>
<content type='text'>
Most of these just format the ABI string, so... just format ExternAbi?
This makes it more consistent and less jank when we can do it.
</content>
</entry>
<entry>
<title>Simplify intra-crate qualifiers.</title>
<updated>2025-02-11T03:59:13+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2025-02-11T02:58:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=af6020320d32fb3491b8d30b580f675a2e1d16a6'/>
<id>urn:sha1:af6020320d32fb3491b8d30b580f675a2e1d16a6</id>
<content type='text'>
The following is a weird pattern for a file within `rustc_middle`:
```
use rustc_middle::aaa;
use crate::bbb;
```
More sensible and standard would be this:
```
use crate::{aaa, bbb};
```
I.e. we generally prefer using `crate::` to using a crate's own name.
(Exceptions are things like in macros where `crate::` doesn't work
because the macro is used in multiple crates.)

This commit fixes a bunch of these weird qualifiers.
</content>
</entry>
</feed>
