<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/test/debuginfo/generic-struct.rs, branch try-perf</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=try-perf</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=try-perf'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2023-01-11T09:32:08+00:00</updated>
<entry>
<title>Move /src/test to /tests</title>
<updated>2023-01-11T09:32:08+00:00</updated>
<author>
<name>Albert Larsan</name>
<email>74931857+albertlarsan68@users.noreply.github.com</email>
</author>
<published>2023-01-05T08:13:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cf2dff2b1e3fa55fa5415d524200070d0d7aacfe'/>
<id>urn:sha1:cf2dff2b1e3fa55fa5415d524200070d0d7aacfe</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[debuginfo] Adapt CDB tests after changes to whitespace usage in debuginfo type names.</title>
<updated>2021-07-19T14:00:04+00:00</updated>
<author>
<name>Michael Woerister</name>
<email>michaelwoerister@posteo</email>
</author>
<published>2021-07-19T09:00:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5b1bfaed8c387ff36200ad789a4a215680fbff79'/>
<id>urn:sha1:5b1bfaed8c387ff36200ad789a4a215680fbff79</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Improve debug symbol names to avoid ambiguity and work better with MSVC's debugger</title>
<updated>2021-06-30T18:10:29+00:00</updated>
<author>
<name>Daniel Paoliello</name>
<email>danpao@microsoft.com</email>
</author>
<published>2021-06-24T17:36:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=aac8a885520854e4b60ea5733b8b06f9e0cc1fcc'/>
<id>urn:sha1:aac8a885520854e4b60ea5733b8b06f9e0cc1fcc</id>
<content type='text'>
There are several cases where names of types and functions in the debug info are either ambiguous, or not helpful, such as including ambiguous placeholders (e.g., `{{impl}}`, `{{closure}}` or `dyn _'`) or dropping qualifications (e.g., for dynamic types).

Instead, each debug symbol name should be unique and useful:
* Include disambiguators for anonymous `DefPathDataName` (closures and generators), and unify their formatting when used as a path-qualifier vs item being qualified.
* Qualify the principal trait for dynamic types.
* If there is no principal trait for a dynamic type, emit all other traits instead.
* Respect the `qualified` argument when emitting ref and pointer types.
* For implementations, emit the disambiguator.
* Print const generics when emitting generic parameters or arguments.

Additionally, when targeting MSVC, its debugger treats many command arguments as C++ expressions, even when the argument is defined to be a symbol name. As such names in the debug info need to be more C++-like to be parsed correctly:
* Avoid characters with special meaning (`#`, `[`, `"`, `+`).
* Never start a name with `&lt;` or `{` as this is treated as an operator.
* `&gt;&gt;` is always treated as a right-shift, even when parsing generic arguments (so add a space to avoid this).
* Emit function declarations using C/C++ style syntax (e.g., leading return type).
* Emit arrays as a synthetic `array$&lt;type, size&gt;` type.
* Include a `$` in all synthetic types as this is a legal character for C++, but not Rust (thus we avoid collisions with user types).
</content>
</entry>
<entry>
<title>Remove redundant `ignore-tidy-linelength` annotations</title>
<updated>2021-04-03T20:30:20+00:00</updated>
<author>
<name>Simon Jakobi</name>
<email>simon.jakobi@gmail.com</email>
</author>
<published>2021-04-03T11:05:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3ea62cb5d19846b44172d861ae231c8c09322800'/>
<id>urn:sha1:3ea62cb5d19846b44172d861ae231c8c09322800</id>
<content type='text'>
This is step 2 towards fixing #77548.

In the codegen and codegen-units test suites, the `//` comment markers
were kept in order not to affect any source locations. This is because
these tests cannot be automatically `--bless`ed.
</content>
</entry>
<entry>
<title>Remove licenses</title>
<updated>2018-12-26T04:08:33+00:00</updated>
<author>
<name>Mark Rousskov</name>
<email>mark.simulacrum@gmail.com</email>
</author>
<published>2018-12-25T15:56:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2a663555ddf36f6b041445894a8c175cd1bc718c'/>
<id>urn:sha1:2a663555ddf36f6b041445894a8c175cd1bc718c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add template parameter debuginfo to generic types</title>
<updated>2018-11-29T20:04:09+00:00</updated>
<author>
<name>Tom Tromey</name>
<email>tom@tromey.com</email>
</author>
<published>2018-10-12T13:34:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fb204cb92f5da2cd0b630ee4b6be85b02404823e'/>
<id>urn:sha1:fb204cb92f5da2cd0b630ee4b6be85b02404823e</id>
<content type='text'>
This changes debuginfo generation to add template parameters to
generic types.  With this change the DWARF now has
DW_TAG_template_type_param for types, not just for functions, like:

 &lt;2&gt;&lt;40d&gt;: Abbrev Number: 6 (DW_TAG_structure_type)
    &lt;40e&gt;   DW_AT_name        : (indirect string, offset: 0x375): Generic&lt;i32&gt;
    &lt;412&gt;   DW_AT_byte_size   : 4
    &lt;413&gt;   DW_AT_alignment   : 4
...
 &lt;3&gt;&lt;41f&gt;: Abbrev Number: 8 (DW_TAG_template_type_param)
    &lt;420&gt;   DW_AT_type        : &lt;0x42a&gt;
    &lt;424&gt;   DW_AT_name        : (indirect string, offset: 0xa65e): T

Closes #9224
</content>
</entry>
<entry>
<title>Run debuginfo tests against rust-enabled lldb, when possible</title>
<updated>2018-10-08T17:04:24+00:00</updated>
<author>
<name>Tom Tromey</name>
<email>tom@tromey.com</email>
</author>
<published>2018-10-02T16:13:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ac33b2e578de58016271012452e4f1be6af9d516'/>
<id>urn:sha1:ac33b2e578de58016271012452e4f1be6af9d516</id>
<content type='text'>
If the rust-enabled lldb was built, then use it when running the
debuginfo tests.  Updating the lldb submodule was necessary as this
needed a way to differentiate the rust-enabled lldb, so I added a line
to the --version output.

This adds compiletest commands to differentiate between the
rust-enabled and non-rust-enabled lldb, as is already done for gdb.  A
new "rust-lldb" header directive is also added, but not used in this
patch; I plan to use it in #54004.

This updates all the tests.
</content>
</entry>
<entry>
<title>adapt debuginfo tests for gdb with native rust support</title>
<updated>2016-10-31T20:12:59+00:00</updated>
<author>
<name>Tim Neumann</name>
<email>mail@timnn.me</email>
</author>
<published>2016-10-25T21:32:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9253e1206e91f5bd7fafd18f8488a937b0046959'/>
<id>urn:sha1:9253e1206e91f5bd7fafd18f8488a937b0046959</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Feature-gate `#[no_debug]` and `#[omit_gdb_pretty_printer_section]`</title>
<updated>2015-09-19T23:39:25+00:00</updated>
<author>
<name>Andrew Paseltiner</name>
<email>apaseltiner@gmail.com</email>
</author>
<published>2015-09-19T20:33:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6fa0ff25bdc5aa5aae00dbe7c1cafc927b6806b6'/>
<id>urn:sha1:6fa0ff25bdc5aa5aae00dbe7c1cafc927b6806b6</id>
<content type='text'>
Closes #28091.
</content>
</entry>
<entry>
<title>Fix fallout of removing quotes in crate names</title>
<updated>2015-03-27T18:43:40+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-03-27T17:22:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e77db16afbe9a7180242112456c7fded48f21b6d'/>
<id>urn:sha1:e77db16afbe9a7180242112456c7fded48f21b6d</id>
<content type='text'>
</content>
</entry>
</feed>
