<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/test/debuginfo/simple-tuple.rs, branch 1.56.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.56.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.56.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2021-07-01T18:26:20+00:00</updated>
<entry>
<title>Update cdb tests for expected output</title>
<updated>2021-07-01T18:26:20+00:00</updated>
<author>
<name>Wesley Wiser</name>
<email>wesleywiser@microsoft.com</email>
</author>
<published>2021-07-01T18:26:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=721b622e075f8e36c048fb7f7ee689305c0c6d93'/>
<id>urn:sha1:721b622e075f8e36c048fb7f7ee689305c0c6d93</id>
<content type='text'>
Also an fix issue with tuple type names where we can't cast to them in
natvis (required by the visualizer for `HashMap`) because of
peculiarities with the natvis expression evaluator.
</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>Modify type names on MSVC to make tuples .natvis compatible.</title>
<updated>2020-06-25T02:28:12+00:00</updated>
<author>
<name>MaulingMonkey</name>
<email>git@maulingmonkey.com</email>
</author>
<published>2020-06-25T02:28:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f8eb81ba4e85b02d90cfc33fcba0a6a7d5cbf810'/>
<id>urn:sha1:f8eb81ba4e85b02d90cfc33fcba0a6a7d5cbf810</id>
<content type='text'>
- Mangles (T0, T1) as tuple&lt;T0, T1&gt;, possibly unblocking rust-lang/rust#70052 "Update hashbrown to 0.8.0"
- Prettifies Rust tuples similar to VS2017's std::tuple
- Improves debuginfo test coverage
</content>
</entry>
<entry>
<title>Implement new gdb/lldb pretty-printers</title>
<updated>2020-06-09T13:13:11+00:00</updated>
<author>
<name>ortem</name>
<email>ortem00@gmail.com</email>
</author>
<published>2019-05-14T12:50:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=47c26e69a986d25ed9d26aebc2787334956a89ae'/>
<id>urn:sha1:47c26e69a986d25ed9d26aebc2787334956a89ae</id>
<content type='text'>
Replace old GDB and LLDB pretty-printers with new ones
which were originally written for IntelliJ Rust.
New LLDB pretty-printers support synthetic children.
New GDB/LLDB pretty-printers support all Rust types
supported by old pretty-printers, and also support:
Rc, Arc, Cell, Ref, RefCell, RefMut, HashMap, HashSet.
</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>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>Disable failing tests temporarily</title>
<updated>2018-01-05T10:47:34+00:00</updated>
<author>
<name>Sam</name>
<email>slancia@cisco.com</email>
</author>
<published>2018-01-03T18:24:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0a24acda18056dd6bc4a5b8ec1897f5b34d283f4'/>
<id>urn:sha1:0a24acda18056dd6bc4a5b8ec1897f5b34d283f4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>update gdbr tests</title>
<updated>2017-03-09T21:12:36+00:00</updated>
<author>
<name>Tim Neumann</name>
<email>mail@timnn.me</email>
</author>
<published>2017-03-09T21:11:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b95b5db163adfe24117aa25e42a775c7b5b91dc5'/>
<id>urn:sha1:b95b5db163adfe24117aa25e42a775c7b5b91dc5</id>
<content type='text'>
gdb will now reliably detect the lanugage as rust even before any
code is run.
</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>
</feed>
