<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_middle/src/mir/interpret/error.rs, branch 1.89.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.89.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.89.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-04-30T16:45:41+00:00</updated>
<entry>
<title>interpret: better error message for out-of-bounds pointer arithmetic and accesses</title>
<updated>2025-04-30T16:45:41+00:00</updated>
<author>
<name>Ralf Jung</name>
<email>post@ralfj.de</email>
</author>
<published>2025-04-30T14:52:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=00f25a8e1cf7d749946a6a9fb7327bf4710c931f'/>
<id>urn:sha1:00f25a8e1cf7d749946a6a9fb7327bf4710c931f</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>Make fewer crates depend on rustc_ast_ir</title>
<updated>2025-02-19T07:06:54+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2025-02-19T06:54:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b78c626a9516f7e8ad6be3e0698f6b6c6fddd286'/>
<id>urn:sha1:b78c626a9516f7e8ad6be3e0698f6b6c6fddd286</id>
<content type='text'>
</content>
</entry>
<entry>
<title>compiler: die immediately instead of handling unknown target codegen</title>
<updated>2025-02-10T19:04:31+00:00</updated>
<author>
<name>Jubilee Young</name>
<email>workingjubilee@gmail.com</email>
</author>
<published>2025-02-10T18:30:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=17716be86e36720885a9918a1e08da7a5669ceca'/>
<id>urn:sha1:17716be86e36720885a9918a1e08da7a5669ceca</id>
<content type='text'>
We cannot produce anything useful if asked to compile unknown targets.
We should handle the error immediately at the point of discovery instead
of propagating it upward, and preferably in the simplest way: Die.

This allows cleaning up our "error-handling" spread across 5 crates.
</content>
</entry>
<entry>
<title>Clean up trivial traversal/lift impl generator macro calls.</title>
<updated>2025-02-06T02:31:43+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2025-02-05T01:02:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d28678e6216f63544cdea37deff4ca26158a67f5'/>
<id>urn:sha1:d28678e6216f63544cdea37deff4ca26158a67f5</id>
<content type='text'>
We have four macros for generating trivial traversal (fold/visit) and
lift impls.
- `rustc_ir::TrivialTypeTraversalImpls`
- `rustc_middle::TrivialTypeTraversalImpls`
- `rustc_middle::TrivialLiftImpls`
- `rustc_middle::TrivialTypeTraversalAndLiftImpls`

The first two are very similar. The last one just combines the second
and third one.

The macros themselves are ok, but their use is a mess. This commit does
the following.
- Removes types that no longer need a lift and/or traversal impl from
  the macro calls.
- Consolidates the macro calls into the smallest number of calls
  possible, with each one mentioning as many types as possible.
- Orders the types within those macro calls alphabetically, and makes
  the module qualification more consistent.
- Eliminates `rustc_middle::mir::type_foldable`, because the macro calls
  were merged and the manual `TypeFoldable` impls are better placed in
  `structural_impls.rs`, alongside all the other ones.

This makes the code more concise. Moving forward, it also makes it more
obvious where new types should be added.
</content>
</entry>
<entry>
<title>Convert some Into impls into From impls</title>
<updated>2024-12-31T01:56:33+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2024-12-31T01:56:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=aea2a6f8361c95d60cc8e2757ca473f6915902a9'/>
<id>urn:sha1:aea2a6f8361c95d60cc8e2757ca473f6915902a9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Variants::Single: do not use invalid VariantIdx for uninhabited enums</title>
<updated>2024-12-18T10:00:21+00:00</updated>
<author>
<name>Ralf Jung</name>
<email>post@ralfj.de</email>
</author>
<published>2024-12-01T12:12:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=21de42bf8ddd0f39c766c7705990152302ae1f3b'/>
<id>urn:sha1:21de42bf8ddd0f39c766c7705990152302ae1f3b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix ICE on type error in promoted</title>
<updated>2024-12-09T14:17:26+00:00</updated>
<author>
<name>Ralf Jung</name>
<email>post@ralfj.de</email>
</author>
<published>2024-12-07T16:22:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ed8ee39930a1bc0b436a67b7189b79466a514bae'/>
<id>urn:sha1:ed8ee39930a1bc0b436a67b7189b79466a514bae</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix ICE when promoted has layout size overflow</title>
<updated>2024-12-01T18:52:27+00:00</updated>
<author>
<name>Ralf Jung</name>
<email>post@ralfj.de</email>
</author>
<published>2024-12-01T13:47:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a17294dc0fe106f0a8f12f8bc61ab17eacf251ef'/>
<id>urn:sha1:a17294dc0fe106f0a8f12f8bc61ab17eacf251ef</id>
<content type='text'>
</content>
</entry>
<entry>
<title>interpret: do not ICE when a promoted fails with OOM</title>
<updated>2024-11-18T19:48:03+00:00</updated>
<author>
<name>Ralf Jung</name>
<email>post@ralfj.de</email>
</author>
<published>2024-11-18T07:42:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c6974344a5707c054ed808ea9c724dd93ec3c680'/>
<id>urn:sha1:c6974344a5707c054ed808ea9c724dd93ec3c680</id>
<content type='text'>
</content>
</entry>
</feed>
