Uh oh!
There was an error while loading. Please reload this page.
Implement new gdb/lldb pretty-printers - #60826
Conversation
rust-highfive
commented
May 14, 2019
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @nikomatsakis (or someone else) soon. If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes. Please see the contribution instructions for more information. |
This comment has been minimized.
This comment has been minimized.
1eba6e9 to
03d864dCompare
This comment has been minimized.
This comment has been minimized.
ebkalderon
commented
May 14, 2019
@ortem I think the pretty printer tests need to be updated to match the format of the IntelliJ printers. See the example line below for one of the errors in the log: |
estebank
commented
May 14, 2019
It seems like the failures are due to the pretty printer not displaying the type name, empty structs being presented as |
03d864d to
52be2f9Compare
This comment has been minimized.
This comment has been minimized.
52be2f9 to
9fe612bCompare
This comment has been minimized.
This comment has been minimized.
9fe612b to
94ce04eCompare
This comment has been minimized.
This comment has been minimized.
94ce04e to
00a5a89Comparerust-highfive
commented
May 17, 2019
The job Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
artemmukhin
commented
May 17, 2019
New pretty-printers use regex to choose a specific provider based on the type name. For example, it is expected that Currently, pretty-printers tests are failed because during these tests |
nikomatsakis
commented
May 17, 2019
This seems great, but I think I'm really not a good choice for reviewer. |
jonas-schievink
commented
Jun 10, 2019
Visiting for triage. Not sure who'd be an adequate reviewer for this. Anyone from @rust-lang/compiler? |
bors
commented
Jun 20, 2019
☔ The latest upstream changes (presumably #61827) made this pull request unmergeable. Please resolve the merge conflicts. |
golddranks
commented
Jun 20, 2019
Ah, great to know that this PR. Existed. I was considering tweaking the current scripts, but they are going to be replaced? |
Mark-Simulacrum
commented
Jul 9, 2019
I'm going to tentatively reassign this to @michaelwoerister but in some sense I suspect we just don't have reviewer capacity for this. cc @eddyb as well, since you're listed as an expert in debuginfo (though that's a little different to this). It may also be that this sort of PR needs to go through some design thinking on internals before being landed in this repository. |
nikomatsakis
commented
Jul 12, 2019
I could be mistaken, but I think that these scripts effectively have no owner at this point. I think i'd be ok r+'ing this PR, though I'm not sure how many tests we have and so forth so there's definitely risk. It'd be great if somebody (maybe @ortem!) wants to try to take ownership of those scripts and keep maintaining, them, though! |
nikomatsakis
commented
Jul 12, 2019
One concern I have with the PR is that I didn't see any tests for the new functionality -- @ortem do you think you'd be able to add some tests that show the new support for
|
nikomatsakis
commented
Jul 12, 2019
In any case, the PR will need to be rebased. If that happens, I'm inclined to say r=me -- even without tests, though more tests would be great! (@eddyb mentioned that debuginfo tests may be broken) |
eddyb
commented
Jul 12, 2019
@ortem After/if this lands in nightly, could you make a post on the forums to tell people to try them out, just so we can catch any issues that might arise from them? Thanks! |
00a5a89 to
9b8e08dComparebors
commented
Apr 1, 2020
💔 Test failed - checks-azure |
artemmukhin
commented
Apr 1, 2020
@Dylan-DPC There are lots of problems in LLDB tests. I'm going to fix them ASAP. Is it possible to run tests only on macOS (not to burden bors)? |
4fe3b7e to
d182144Compareartemmukhin
commented
Apr 9, 2020
@pnkfelix Could you please help me with testing this branch on macOS via Azure? |
nikic
commented
Apr 9, 2020
@ortem You can copy the macos config (or one part of it) from https://github.com/rust-lang/rust/blob/master/src/ci/azure-pipelines/auto.yml into https://github.com/rust-lang/rust/blob/master/src/ci/azure-pipelines/pr.yml to make it run for pull request builds. |
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.
d182144 to
3255a4aCompareartemmukhin
commented
Apr 9, 2020
@nikic Thank you! |
3255a4a to
8048354Comparerust-highfive
commented
Apr 9, 2020
The job Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
8048354 to
039324dComparerust-highfive
commented
Apr 9, 2020
The job Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
039324d to
2b0ae47Comparerust-highfive
commented
Apr 9, 2020
The job Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
2b0ae47 to
de2dd3cComparerust-highfive
commented
Apr 10, 2020
The job Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
bors
commented
Apr 18, 2020
☔ The latest upstream changes (presumably #71147) made this pull request unmergeable. Please resolve the merge conflicts. |
Dylan-DPC-zz
commented
Apr 24, 2020
@ortem can you resolve the conflicts and fix the failing test? thanks |
joelpalmer
commented
May 5, 2020
Ping from Triage: @ortem closing due to inactivity. Please reopen with conflicts resolved. Thanks for the PR. |
artemmukhin
commented
May 19, 2020
Sorry for a long wait, @joelpalmer could you please reopen this PR? I've fixed the conflicts and I'm fixing failed tests right now, so I need this PR to run tests on macOS. |
nikic
commented
May 19, 2020
@ortem Unfortunately it's not possible to reopen this PR, because the branch has been force-pushed in the meantime, and GitHub doesn't like that. You'll have to open a new one. |
bjorn3
commented
May 19, 2020
If you force-push the commit from when you closed the PR, you can re-open it again. Just make sure to save your current commit on a different branch. |
This PR replaces current gdb and lldb pretty-printers with new ones which were originally written for IntelliJ Rust.
The current state of lldb pretty-printers is poor, because they don't use synthetic children. When I started to reimplement lldb pretty-printers with synthetic children support, I've found current version strange and hard to support. I think
debugger_pretty_printers_common.pyis overkill, so I got rid of it.The new pretty-printers have to support all types supported by current pretty-printers, and also support
Rc,Arc,Cell,Ref,RefCell,RefMut,HashMap,HashSet.Fixes#56252