Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update HashMap/HashSet pretty-printers to Rust 1.47 #6258

Merged
merged 1 commit into from Oct 14, 2020

Conversation

artemmukhin
Copy link
Member

@artemmukhin artemmukhin commented Oct 14, 2020

Fixes #6198

The corresponding PRs in rustc:
rust-lang/rust#76458
rust-lang/rust#70052

Besides these changes from the upstreamed pretty-printers, I've added GetTypedefedType (LLDB) and strip_typedefs (GDB) calls to resolve key and value types completely. Without these calls, LLDB doesn't show the actual type and so CLion fails to show the content of key/value pairs.

For example,
with GetTypedefedType:

(lldb) frame variable hm[0]
((i32, alloc::string::String)) hm[0] = { ... }

and without:

(lldb) frame variable hm[0]
(T) hm[0] = { ... }

Before merge, test on:

  • Linux + Bundled GDB + Rust 1.46
  • Linux + Bundled LLDB + Rust 1.46
  • Linux + Bundled GDB + Rust 1.47
  • Linux + Bundled LLDB + Rust 1.47
  • macOS + Bundled LLDB + Rust 1.46
  • macOS + Bundled LLDB + Rust 1.47
  • Windows + MinGW/Cygwin GDB + Rust 1.47
  • Windows + MinGW/Cygwin GDB + Rust 1.46
    Does not work on Windows + MSVC LLDB due to the lack of native Rust support patches

After merge

@artemmukhin artemmukhin added the fix Pull requests that fix some bug(s) label Oct 14, 2020
@artemmukhin artemmukhin added this to the v133 milestone Oct 14, 2020
@artemmukhin artemmukhin added this to In Progress in To test via automation Oct 14, 2020
Copy link
Member

@Undin Undin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bors r+

@bors
Copy link
Contributor

bors bot commented Oct 14, 2020

Build succeeded:

@bors bors bot merged commit e9d911b into master Oct 14, 2020
To test automation moved this from In Progress to Test Oct 14, 2020
@bors bors bot deleted the ortem/update-hashmap-pretty-printers branch October 14, 2020 14:55
@Undin
Copy link
Member

Undin commented Oct 14, 2020

@ortem I've cherry-picked these changes to release-133 branch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fix Pull requests that fix some bug(s)
Projects
To test
  
Done
Development

Successfully merging this pull request may close these issues.

HashSet/HashMap pretty printers don't work since Rust 1.47
2 participants