<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_codegen_ssa/src/debuginfo, branch 1.59.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.59.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.59.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2022-01-07T17:36:09+00:00</updated>
<entry>
<title>Consolidate checking for msvc when generating debuginfo</title>
<updated>2022-01-07T17:36:09+00:00</updated>
<author>
<name>Wesley Wiser</name>
<email>wesleywiser@microsoft.com</email>
</author>
<published>2021-12-28T21:57:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=836addcbc4fa825e07c78c6feb7f6a0b776ed41a'/>
<id>urn:sha1:836addcbc4fa825e07c78c6feb7f6a0b776ed41a</id>
<content type='text'>
If the target we're generating code for is msvc, then we do two main
things differently: we generate type names in a C++ style instead of a
Rust style and we generate debuginfo for enums differently.

I've refactored the code so that there is one function
(`cpp_like_debuginfo`) which determines if we should use the C++ style
of naming types and other debuginfo generation or the regular Rust one.
</content>
</entry>
<entry>
<title>Auto merge of #91957 - nnethercote:rm-SymbolStr, r=oli-obk</title>
<updated>2021-12-19T09:31:37+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2021-12-19T09:31:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a41a6925badac7508d7a72cc1fc20f43dc6ad75e'/>
<id>urn:sha1:a41a6925badac7508d7a72cc1fc20f43dc6ad75e</id>
<content type='text'>
Remove `SymbolStr`

This was originally proposed in https://github.com/rust-lang/rust/pull/74554#discussion_r466203544. As well as removing the icky `SymbolStr` type, it allows the removal of a lot of `&amp;` and `*` occurrences.

Best reviewed one commit at a time.

r? `@oli-obk`
</content>
</entry>
<entry>
<title>Remove unnecessary sigils around `Symbol::as_str()` calls.</title>
<updated>2021-12-15T06:32:14+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2021-12-15T03:39:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=056d48a2c97860b2cce936f310331e606076fa01'/>
<id>urn:sha1:056d48a2c97860b2cce936f310331e606076fa01</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove `in_band_lifetimes` from `rustc_codegen_ssa`</title>
<updated>2021-12-15T05:41:41+00:00</updated>
<author>
<name>LegionMammal978</name>
<email>mattlloydhouse@gmail.com</email>
</author>
<published>2021-12-14T02:52:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=eaf39cbd9e37e705664dcf0e1ca1042913cf521a'/>
<id>urn:sha1:eaf39cbd9e37e705664dcf0e1ca1042913cf521a</id>
<content type='text'>
See #91867 for more information.
</content>
</entry>
<entry>
<title>use matches!() macro in more places</title>
<updated>2021-11-06T15:13:14+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>matthias.krueger@famsik.de</email>
</author>
<published>2021-11-06T00:31:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0a5640b55f4a34a1f96859663449b0cabfb08c87'/>
<id>urn:sha1:0a5640b55f4a34a1f96859663449b0cabfb08c87</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Erase late-bound regions before computing vtable debuginfo name.</title>
<updated>2021-10-19T11:57:35+00:00</updated>
<author>
<name>Michael Woerister</name>
<email>michaelwoerister@posteo</email>
</author>
<published>2021-10-19T09:46:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=bf39d86e0f34c439306f9dff9d01ca15792b5fd5'/>
<id>urn:sha1:bf39d86e0f34c439306f9dff9d01ca15792b5fd5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #89597 - michaelwoerister:improve-vtable-debuginfo, r=wesleywiser</title>
<updated>2021-10-11T04:31:47+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2021-10-11T04:31:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9a757817c352801de8b0593728f8aee21e23cd53'/>
<id>urn:sha1:9a757817c352801de8b0593728f8aee21e23cd53</id>
<content type='text'>
Create more accurate debuginfo for vtables.

Before this PR all vtables would have the same name (`"vtable"`) in debuginfo. Now they get an unambiguous name that identifies the implementing type and the trait that is being implemented.

This is only one of several possible improvements:
- This PR describes vtables as arrays of `*const u8` pointers. It would nice to describe them as structs where function pointer is represented by a field with a name indicative of the method it maps to. However, this requires coming up with a naming scheme that avoids clashes between methods with the same name (which is possible if the vtable contains multiple traits).
- The PR does not update the debuginfo we generate for the vtable-pointer field in a fat `dyn` pointer. Right now there does not seem to be an easy way of getting ahold of a vtable-layout without also knowing the concrete self-type of a trait object.

r? `@wesleywiser`
</content>
</entry>
<entry>
<title>Create more accurate debuginfo for vtables.</title>
<updated>2021-10-08T08:33:47+00:00</updated>
<author>
<name>Michael Woerister</name>
<email>michaelwoerister@posteo</email>
</author>
<published>2021-10-06T12:26:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=61c5a6d644e9e5c1995c33a2b07ab251702848ac'/>
<id>urn:sha1:61c5a6d644e9e5c1995c33a2b07ab251702848ac</id>
<content type='text'>
Before this commit all vtables would have the same name "vtable" in
debuginfo. Now they get a name that identifies the implementing type
and the trait that is being implemented.
</content>
</entry>
<entry>
<title>Remove re-export.</title>
<updated>2021-10-03T14:08:54+00:00</updated>
<author>
<name>Camille GILLOT</name>
<email>gillot.camille@gmail.com</email>
</author>
<published>2020-11-14T15:48:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=02025d86ac2294078f876015da59d56efe7bf59e'/>
<id>urn:sha1:02025d86ac2294078f876015da59d56efe7bf59e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make `abi::Abi` `Copy` and remove a *lot* of refs</title>
<updated>2021-09-09T08:41:19+00:00</updated>
<author>
<name>Andreas Liljeqvist</name>
<email>bonega@gmail.com</email>
</author>
<published>2021-08-29T09:06:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5b2f757dae374e22a7733f90af482f405bd426e9'/>
<id>urn:sha1:5b2f757dae374e22a7733f90af482f405bd426e9</id>
<content type='text'>
fix

fix

Remove more refs and clones

fix

more

fix
</content>
</entry>
</feed>
