<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_codegen_cranelift/src/debuginfo, branch 1.63.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.63.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.63.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2022-03-20T15:55:21+00:00</updated>
<entry>
<title>Merge commit '370c397ec9169809e5ad270079712e0043514240' into sync_cg_clif-2022-03-20</title>
<updated>2022-03-20T15:55:21+00:00</updated>
<author>
<name>bjorn3</name>
<email>bjorn3@users.noreply.github.com</email>
</author>
<published>2022-03-20T15:55:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ef4ce72919d1a16ad5aed4108d5abcf4d5c2cdc8'/>
<id>urn:sha1:ef4ce72919d1a16ad5aed4108d5abcf4d5c2cdc8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Overhaul `TyS` and `Ty`.</title>
<updated>2022-02-15T05:03:24+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2022-01-25T03:13:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e9a0c429c5da5a34c0469117774fe32694a0281c'/>
<id>urn:sha1:e9a0c429c5da5a34c0469117774fe32694a0281c</id>
<content type='text'>
Specifically, change `Ty` from this:
```
pub type Ty&lt;'tcx&gt; = &amp;'tcx TyS&lt;'tcx&gt;;
```
to this
```
pub struct Ty&lt;'tcx&gt;(Interned&lt;'tcx, TyS&lt;'tcx&gt;&gt;);
```
There are two benefits to this.
- It's now a first class type, so we can define methods on it. This
  means we can move a lot of methods away from `TyS`, leaving `TyS` as a
  barely-used type, which is appropriate given that it's not meant to
  be used directly.
- The uniqueness requirement is now explicit, via the `Interned` type.
  E.g. the pointer-based `Eq` and `Hash` comes from `Interned`, rather
  than via `TyS`, which wasn't obvious at all.

Much of this commit is boring churn. The interesting changes are in
these files:
- compiler/rustc_middle/src/arena.rs
- compiler/rustc_middle/src/mir/visit.rs
- compiler/rustc_middle/src/ty/context.rs
- compiler/rustc_middle/src/ty/mod.rs

Specifically:
- Most mentions of `TyS` are removed. It's very much a dumb struct now;
  `Ty` has all the smarts.
- `TyS` now has `crate` visibility instead of `pub`.
- `TyS::make_for_test` is removed in favour of the static `BOOL_TY`,
  which just works better with the new structure.
- The `Eq`/`Ord`/`Hash` impls are removed from `TyS`. `Interned`s impls
  of `Eq`/`Hash` now suffice. `Ord` is now partly on `Interned`
  (pointer-based, for the `Equal` case) and partly on `TyS`
  (contents-based, for the other cases).
- There are many tedious sigil adjustments, i.e. adding or removing `*`
  or `&amp;`. They seem to be unavoidable.
</content>
</entry>
<entry>
<title>Store a `Symbol` instead of an `Ident` in `VariantDef`/`FieldDef`</title>
<updated>2022-01-11T15:16:22+00:00</updated>
<author>
<name>Aaron Hill</name>
<email>aa1ronham@gmail.com</email>
</author>
<published>2022-01-03T03:37:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=450ef8613ce80278b98e1b1a73448ea810322567'/>
<id>urn:sha1:450ef8613ce80278b98e1b1a73448ea810322567</id>
<content type='text'>
The field is also renamed from `ident` to `name. In most cases,
we don't actually need the `Span`. A new `ident` method is added
to `VariantDef` and `FieldDef`, which constructs the full `Ident`
using `tcx.def_ident_span()`. This method is used in the cases
where we actually need an `Ident`.

This makes incremental compilation properly track changes
to the `Span`, without all of the invalidations caused by storing
a `Span` directly via an `Ident`.
</content>
</entry>
<entry>
<title>Merge commit '40b00f4200fbdeefd11815398cb46394b8cb0a5e' into sync_cg_clif-2021-12-30</title>
<updated>2021-12-30T13:53:41+00:00</updated>
<author>
<name>bjorn3</name>
<email>bjorn3@users.noreply.github.com</email>
</author>
<published>2021-12-30T13:53:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a8e6d5b04d844a8b540a772dec4f6a233f307c35'/>
<id>urn:sha1:a8e6d5b04d844a8b540a772dec4f6a233f307c35</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge commit '97e504549371d7640cf011d266e3c17394fdddac' into sync_cg_clif-2021-12-20</title>
<updated>2021-12-20T17:56:35+00:00</updated>
<author>
<name>bjorn3</name>
<email>bjorn3@users.noreply.github.com</email>
</author>
<published>2021-12-20T17:56:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3426a730ffc78bea3fa45593a383647c0774fe57'/>
<id>urn:sha1:3426a730ffc78bea3fa45593a383647c0774fe57</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge commit '61667dedf55e3e5aa584f7ae2bd0471336b92ce9' into sync_cg_clif-2021-09-19</title>
<updated>2021-09-19T11:56:58+00:00</updated>
<author>
<name>bjorn3</name>
<email>bjorn3@users.noreply.github.com</email>
</author>
<published>2021-09-19T11:56:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=86f9bcfb8e5863fe51699dc9edebe76fb97078d2'/>
<id>urn:sha1:86f9bcfb8e5863fe51699dc9edebe76fb97078d2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #88363 - michaelwoerister:remapped-diagnostics, r=estebank</title>
<updated>2021-09-03T00:23:10+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2021-09-03T00:23:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=97f2698484c2d668b2f356a6c2252e5f08472234'/>
<id>urn:sha1:97f2698484c2d668b2f356a6c2252e5f08472234</id>
<content type='text'>
Path remapping: Make behavior of diagnostics output dependent on presence of --remap-path-prefix.

This PR fixes a regression (#87745) with `--remap-path-prefix` where the flag stopped causing diagnostic messages to be remapped as well. The regression was introduced in https://github.com/rust-lang/rust/pull/83813 where we erroneously assumed that remapping of diagnostic messages was not desired anymore (because #70642 partially undid that functionality with nobody objecting).

The issue is fixed by making `--remap-path-prefix` remap diagnostic messages again, including for paths that have been remapped in upstream crates (e.g. the standard library). This means that "sysroot-localization" (implemented in #70642) is also disabled if `rustc` is invoked with `--remap-path-prefix`. The assumption is that once someone starts explicitly remapping paths they also don't want paths to their local Rust installation in their build output.

In the future we might want to give more fine-grained control over this behavior via compiler flags (see https://github.com/rust-lang/rfcs/pull/3127 for a related RFC). For now this PR is intended as a regression fix.

This PR is an alternative to https://github.com/rust-lang/rust/pull/88191, which makes diagnostic messages be remapped unconditionally. That approach, however, would effectively revert #70642.

Fixes https://github.com/rust-lang/rust/issues/87745.

cc `@cbeuw`
r? `@ghost`
</content>
</entry>
<entry>
<title>rustc_target: `TyAndLayout::field` should never error.</title>
<updated>2021-08-29T21:44:09+00:00</updated>
<author>
<name>Eduard-Mihai Burtescu</name>
<email>eddyb@lyken.rs</email>
</author>
<published>2021-08-25T15:05:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8e6d126b7d69281072f16dcc3cfff140e8947c58'/>
<id>urn:sha1:8e6d126b7d69281072f16dcc3cfff140e8947c58</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Path remapping: Make behavior of diagnostics output dependent on presence of --remap-path-prefix.</title>
<updated>2021-08-27T09:50:44+00:00</updated>
<author>
<name>Michael Woerister</name>
<email>michaelwoerister@posteo</email>
</author>
<published>2021-08-26T10:46:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=af1b65cb18d5fa1358d1ae7a8ed3b1f7c635b6b5'/>
<id>urn:sha1:af1b65cb18d5fa1358d1ae7a8ed3b1f7c635b6b5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update rustc_codegen_cratelift for working_dir change</title>
<updated>2021-08-15T20:17:37+00:00</updated>
<author>
<name>Aaron Hill</name>
<email>aa1ronham@gmail.com</email>
</author>
<published>2021-08-12T21:46:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=179fd38bb593896a8c1cb15bd50faebecd9f601a'/>
<id>urn:sha1:179fd38bb593896a8c1cb15bd50faebecd9f601a</id>
<content type='text'>
</content>
</entry>
</feed>
