<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_ast_lowering/src/errors.rs, branch perf-tmp</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=perf-tmp</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=perf-tmp'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-07-18T01:13:21+00:00</updated>
<entry>
<title>AST lowering: More robustly deal with relaxed bounds</title>
<updated>2025-07-18T01:13:21+00:00</updated>
<author>
<name>León Orell Valerian Liehr</name>
<email>me@fmease.dev</email>
</author>
<published>2025-06-18T20:10:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1df99f22d3a1776b36fc00fc35626fd841f7242f'/>
<id>urn:sha1:1df99f22d3a1776b36fc00fc35626fd841f7242f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Reject union default field values</title>
<updated>2025-06-16T23:27:58+00:00</updated>
<author>
<name>Jieyou Xu</name>
<email>jieyouxu@outlook.com</email>
</author>
<published>2025-06-16T09:53:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2dd9cc113067113453efcff722e3a5c0893a6244'/>
<id>urn:sha1:2dd9cc113067113453efcff722e3a5c0893a6244</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Stabilize precise_capturing_in_traits</title>
<updated>2025-03-23T14:11:04+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2025-03-06T20:50:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=eb3707e4b49e7d19d048cf2187d6e3643be9dba2'/>
<id>urn:sha1:eb3707e4b49e7d19d048cf2187d6e3643be9dba2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #137824 - estebank:rtn-sugg, r=compiler-errors</title>
<updated>2025-03-01T15:03:18+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>matthias.krueger@famsik.de</email>
</author>
<published>2025-03-01T15:03:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a500a43367b862e35942ed85f376656140faad06'/>
<id>urn:sha1:a500a43367b862e35942ed85f376656140faad06</id>
<content type='text'>
Tweak invalid RTN errors

Make suggestions verbose.

When encountering `method(type)` bound, suggest `method(..)` instead of `method()`.

```
error: argument types not allowed with return type notation
  --&gt; $DIR/bad-inputs-and-output.rs:9:23
   |
LL | fn foo&lt;T: Trait&lt;method(i32): Send&gt;&gt;() {}
   |                       ^^^^^
   |
help: remove the input types
   |
LL - fn foo&lt;T: Trait&lt;method(i32): Send&gt;&gt;() {}
LL + fn foo&lt;T: Trait&lt;method(..): Send&gt;&gt;() {}
   |
```

When encountering both return type and arg list that isn't `..`, suggest replacing both.

```
error: return type not allowed with return type notation
  --&gt; $DIR/bad-inputs-and-output.rs:12:25
   |
LL | fn bar&lt;T: Trait&lt;method() -&gt; (): Send&gt;&gt;() {}
   |                         ^^^^^^
   |
help: use the right argument notation and remove the return type
   |
LL - fn bar&lt;T: Trait&lt;method() -&gt; (): Send&gt;&gt;() {}
LL + fn bar&lt;T: Trait&lt;method(..): Send&gt;&gt;() {}
   |
```

When encountering a return type, suggest removing it including the leading whitespace.

```
error: return type not allowed with return type notation
  --&gt; $DIR/bad-inputs-and-output.rs:24:45
   |
LL | fn bay_path&lt;T: Trait&gt;() where T::method(..) -&gt; (): Send {}
   |                                             ^^^^^
   |
help: remove the return type
   |
LL - fn bay_path&lt;T: Trait&gt;() where T::method(..) -&gt; (): Send {}
LL + fn bay_path&lt;T: Trait&gt;() where T::method(..): Send {}
   |
```

r? ``@compiler-errors``
</content>
</entry>
<entry>
<title>Tweak invalid RTN errors</title>
<updated>2025-02-28T21:18:53+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2025-02-28T20:05:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=adb5ecabdb09ff6f329bbf9b7721036db983f546'/>
<id>urn:sha1:adb5ecabdb09ff6f329bbf9b7721036db983f546</id>
<content type='text'>
Make suggestions verbose.

When encountering `method(type)` bound, suggest `method(..)` instead of `method()`.

```
error: argument types not allowed with return type notation
  --&gt; $DIR/bad-inputs-and-output.rs:9:23
   |
LL | fn foo&lt;T: Trait&lt;method(i32): Send&gt;&gt;() {}
   |                       ^^^^^
   |
help: remove the input types
   |
LL - fn foo&lt;T: Trait&lt;method(i32): Send&gt;&gt;() {}
LL + fn foo&lt;T: Trait&lt;method(..): Send&gt;&gt;() {}
   |
```

When encountering both return type and arg list that isn't `..`, suggest replacing both.

```
error: return type not allowed with return type notation
  --&gt; $DIR/bad-inputs-and-output.rs:12:25
   |
LL | fn bar&lt;T: Trait&lt;method() -&gt; (): Send&gt;&gt;() {}
   |                         ^^^^^^
   |
help: use the right argument notation and remove the return type
   |
LL - fn bar&lt;T: Trait&lt;method() -&gt; (): Send&gt;&gt;() {}
LL + fn bar&lt;T: Trait&lt;method(..): Send&gt;&gt;() {}
   |
```

When encountering a return type, suggest removing it including the leading whitespace.

```
error: return type not allowed with return type notation
  --&gt; $DIR/bad-inputs-and-output.rs:24:45
   |
LL | fn bay_path&lt;T: Trait&gt;() where T::method(..) -&gt; (): Send {}
   |                                             ^^^^^
   |
help: remove the return type
   |
LL - fn bay_path&lt;T: Trait&gt;() where T::method(..) -&gt; (): Send {}
LL + fn bay_path&lt;T: Trait&gt;() where T::method(..): Send {}
   |
```
</content>
</entry>
<entry>
<title>Tweak incorrect ABI suggestion</title>
<updated>2025-02-28T03:35:13+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2025-02-28T03:35:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=86945c0a545643457e551a78e8c2a90355d0f17c'/>
<id>urn:sha1:86945c0a545643457e551a78e8c2a90355d0f17c</id>
<content type='text'>
Provide a better suggestion message, and make the suggestion verbose.

```
error[E0703]: invalid ABI: found `riscv-interrupt`
  --&gt; $DIR/riscv-discoverability-guidance.rs:17:8
   |
LL | extern "riscv-interrupt" fn isr() {}
   |        ^^^^^^^^^^^^^^^^^ invalid ABI
   |
   = note: invoke `rustc --print=calling-conventions` for a full list of supported calling conventions
help: there's a similarly named valid ABI `"riscv-interrupt-m"`
   |
LL | extern "riscv-interrupt-m" fn isr() {}
   |                        ++
```
</content>
</entry>
<entry>
<title>Rollup merge of #136239 - folkertdev:show-supported-register-classes, r=SparrowLii,jieyouxu</title>
<updated>2025-02-11T17:04:34+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>matthias.krueger@famsik.de</email>
</author>
<published>2025-02-11T17:04:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=65d20f39f3d1706d239abb53ef271b5612ec60e7'/>
<id>urn:sha1:65d20f39f3d1706d239abb53ef271b5612ec60e7</id>
<content type='text'>
show supported register classes in error message

a simple diagnostic change that shows the supported register classes when an invalid one is found.

This information can be hard to find (especially for unstable targets), and this message now gives at least something to try or search for. I've followed the pattern for invalid clobber ABIs.

`@rustbot` label +A-inline-assembly
</content>
</entry>
<entry>
<title>compiler: remove `abi`-specific `extern "{abi}"` suggestions</title>
<updated>2025-02-10T04:45:47+00:00</updated>
<author>
<name>Jubilee Young</name>
<email>workingjubilee@gmail.com</email>
</author>
<published>2025-02-07T20:18:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cd9d39e3604680db58acbe409590d495e883d053'/>
<id>urn:sha1:cd9d39e3604680db58acbe409590d495e883d053</id>
<content type='text'>
These are either residue of a long-term migration away from something,
or are simply trying too hard to be specifically useful:
nearest-match suggestions for ABI strings should handle this.
</content>
</entry>
<entry>
<title>show supported register classes</title>
<updated>2025-01-29T11:15:12+00:00</updated>
<author>
<name>Folkert de Vries</name>
<email>folkert@folkertdev.nl</email>
</author>
<published>2025-01-29T10:57:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fbd30ea35fb79d73faa9d5b3feae391fed5336c8'/>
<id>urn:sha1:fbd30ea35fb79d73faa9d5b3feae391fed5336c8</id>
<content type='text'>
in inline assembly, show the supported register classes when an invalid one is found
</content>
</entry>
<entry>
<title>Re-export more `rustc_span::symbol` things from `rustc_span`.</title>
<updated>2024-12-18T02:38:53+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2024-12-12T23:29:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2620eb42d72d24baa1ca1056a769862b92c85f7f'/>
<id>urn:sha1:2620eb42d72d24baa1ca1056a769862b92c85f7f</id>
<content type='text'>
`rustc_span::symbol` defines some things that are re-exported from
`rustc_span`, such as `Symbol` and `sym`. But it doesn't re-export some
closely related things such as `Ident` and `kw`. So you can do `use
rustc_span::{Symbol, sym}` but you have to do `use
rustc_span::symbol::{Ident, kw}`, which is inconsistent for no good
reason.

This commit re-exports `Ident`, `kw`, and `MacroRulesNormalizedIdent`,
and changes many `rustc_span::symbol::` qualifiers in `compiler/` to
`rustc_span::`. This is a 200+ net line of code reduction, mostly
because many files with two `use rustc_span` items can be reduced to
one.
</content>
</entry>
</feed>
