<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_codegen_ssa/src/debuginfo, branch 1.62.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.62.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.62.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2022-04-12T17:59:32+00:00</updated>
<entry>
<title>Remove NodeIdHashingMode.</title>
<updated>2022-04-12T17:59:32+00:00</updated>
<author>
<name>Camille GILLOT</name>
<email>gillot.camille@gmail.com</email>
</author>
<published>2022-04-04T20:19:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=443333dc1f8d464ed9f3d166a847f4703ad078ae'/>
<id>urn:sha1:443333dc1f8d464ed9f3d166a847f4703ad078ae</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Mark scalar layout unions so that backends that do not support partially initialized scalars can special case them.</title>
<updated>2022-04-05T13:18:21+00:00</updated>
<author>
<name>Oli Scherer</name>
<email>git-spam-no-reply9815368754983@oli-obk.de</email>
</author>
<published>2022-03-03T12:02:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d32ce37a171663048a4c4a536803434e40f52bd6'/>
<id>urn:sha1:d32ce37a171663048a4c4a536803434e40f52bd6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #95056 - Dylan-DPC:rollup-swtuw2n, r=Dylan-DPC</title>
<updated>2022-03-18T00:35:19+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2022-03-18T00:35:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cd119057160cedea245aa2679add56723f3dc784'/>
<id>urn:sha1:cd119057160cedea245aa2679add56723f3dc784</id>
<content type='text'>
Rollup of 10 pull requests

Successful merges:

 - #91133 (Improve `unsafe` diagnostic)
 - #93222 (Make ErrorReported impossible to construct outside `rustc_errors`)
 - #93745 (Stabilize ADX target feature)
 - #94309 ([generator_interior] Be more precise with scopes of borrowed places)
 - #94698 (Remove redundant code from copy-suggestions)
 - #94731 (Suggest adding `{ .. }` around a const function call with arguments)
 - #94960 (Fix many spelling mistakes)
 - #94982 (Add deprecated_safe feature gate and attribute, cc #94978)
 - #94997 (debuginfo: Fix ICE when generating name for type that produces a layout error.)
 - #95000 (Fixed wrong type name in comment)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
</content>
</entry>
<entry>
<title>erase late-bound regions in dyn projection types for debuginfo</title>
<updated>2022-03-16T18:56:29+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2022-03-16T18:53:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b69b3d041ad7b8679bdc9c32afccfd961a7d28d2'/>
<id>urn:sha1:b69b3d041ad7b8679bdc9c32afccfd961a7d28d2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>debuginfo: Fix ICE when generating name for type that produces a layout error.</title>
<updated>2022-03-16T14:57:33+00:00</updated>
<author>
<name>Michael Woerister</name>
<email>michaelwoerister@posteo</email>
</author>
<published>2022-03-16T10:03:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=243e2a698c0c6573dc5445b07e0dcb6b0167f876'/>
<id>urn:sha1:243e2a698c0c6573dc5445b07e0dcb6b0167f876</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #94810 - michaelwoerister:fix-trait-pointer-debuginfo-names, r=wesleywiser</title>
<updated>2022-03-15T16:15:52+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>matthias.krueger@famsik.de</email>
</author>
<published>2022-03-15T16:15:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e755f2c7cdf8636f53243f2fdaffab2a87c5a3c5'/>
<id>urn:sha1:e755f2c7cdf8636f53243f2fdaffab2a87c5a3c5</id>
<content type='text'>
debuginfo: Fix bug in type name generation for dyn types with associated types but no other generic arguments.

For types like `&amp;dyn Future&lt;Output=bool&gt;` the compiler currently emits invalid types names in debuginfo. This PR fixes this.

Before:
```txt
// DWARF
&amp;dyn core::future::future::Future, Output=bool&gt;

// CodeView
ref$&lt;dyn$&lt;core::future::future::Future,assoc$&lt;Output,bool&gt; &gt; &gt; &gt;
```

After:
```txt
// DWARF
&amp;dyn core::future::future::Future&lt;Output=bool&gt;

// CodeView
ref$&lt;dyn$&lt;core::future::future::Future&lt;assoc$&lt;Output,bool&gt; &gt; &gt; &gt;
```

These syntactically incorrect type names can cause downstream tools (e.g. debugger extensions) crash when trying to parse them.

r? `@wesleywiser`
</content>
</entry>
<entry>
<title>debuginfo: Refactor debuginfo generation for types -- Address review comments.</title>
<updated>2022-03-14T16:25:17+00:00</updated>
<author>
<name>Michael Woerister</name>
<email>michaelwoerister@posteo</email>
</author>
<published>2022-03-14T16:11:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9580a7115d2d75514f0b329a29fafaa3796bd950'/>
<id>urn:sha1:9580a7115d2d75514f0b329a29fafaa3796bd950</id>
<content type='text'>
</content>
</entry>
<entry>
<title>debuginfo: change cpp-like naming for generator environments so that NatVis works for them</title>
<updated>2022-03-14T15:52:47+00:00</updated>
<author>
<name>Michael Woerister</name>
<email>michaelwoerister@posteo</email>
</author>
<published>2022-03-03T11:10:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3ad299aa670face2085d2abec6e8481fa582068a'/>
<id>urn:sha1:3ad299aa670face2085d2abec6e8481fa582068a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>debuginfo: Refactor debuginfo generation for types</title>
<updated>2022-03-14T15:49:06+00:00</updated>
<author>
<name>Michael Woerister</name>
<email>michaelwoerister@posteo</email>
</author>
<published>2022-03-03T10:15:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=07ebc13d87796622bb6e4ac46a7e6a054bc4c680'/>
<id>urn:sha1:07ebc13d87796622bb6e4ac46a7e6a054bc4c680</id>
<content type='text'>
This commit
- changes names to use di_node instead of metadata
- uniformly names all functions that build new debuginfo nodes build_xyz_di_node
- renames CrateDebugContext to CodegenUnitDebugContext (which is more accurate)
- moves TypeMap and functions that work directly work with it to a new type_map module
- moves and reimplements enum related builder functions to a new enums module
- splits enum debuginfo building for the native and cpp-like cases, since they are mostly separate
- uses SmallVec instead of Vec in many places
- removes the old infrastructure for dealing with recursion cycles (create_and_register_recursive_type_forward_declaration(), RecursiveTypeDescription, set_members_of_composite_type(), MemberDescription, MemberDescriptionFactory, prepare_xyz_metadata(), etc)
- adds type_map::build_type_with_children() as a replacement for dealing with recursion cycles
- adds many (doc-)comments explaining what's going on
- changes cpp-like naming for C-Style enums so they don't get a enum$&lt;...&gt; name (because the NatVis visualizer does not apply to them)
- fixes detection of what is a C-style enum because some enums where classified as C-style even though they have fields
- changes the position of discriminant debuginfo node so it is consistently nested inside the top-level union instead of, sometimes, next to it
</content>
</entry>
<entry>
<title>Improve `AdtDef` interning.</title>
<updated>2022-03-11T02:31:24+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2022-03-04T20:28:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ca5525d5643f4eb7de5c5e69d0691fc8f1cacfca'/>
<id>urn:sha1:ca5525d5643f4eb7de5c5e69d0691fc8f1cacfca</id>
<content type='text'>
This commit makes `AdtDef` use `Interned`. Much the commit is tedious
changes to introduce getter functions. The interesting changes are in
`compiler/rustc_middle/src/ty/adt.rs`.
</content>
</entry>
</feed>
