-
Notifications
You must be signed in to change notification settings - Fork 13.4k
debug-info/limited-debuginfo.rs failure #12877
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Labels
A-debuginfo
Area: Debugging information in compiled programs (DWARF, PDB, etc.)
A-testsuite
Area: The testsuite used to check the correctness of rustc
Comments
It appears we should be searching for |
This seems to be a duplicate of #12787. |
Indeed it does, and I have gdb 7.7 here. |
matthiaskrgr
pushed a commit
to matthiaskrgr/rust
that referenced
this issue
Aug 2, 2022
fix: Insert spaces when inlining a function defined in a macro. (partially) fixes rust-lang#12860. This PR (only) addresses the whitespace issue when inlining functions defined in macros. Additionally, the indentation/spacing is not ideal, but works, e.g. ```rs macro_rules! define_function { () => { fn test_function_macro() { if let Some(3) = 3i32.checked_add(0) { println!("3 + 0 == 3"); } } }; } define_function!(); fn main() { test_function_macro(); } // previously became // ... fn main() { ifletSome(3)=3i32.checked_add(0){println!("3 + 0 == 3");}; } // now becomes // ... fn main() { if let Some(3) = 3i32.checked_add(0){ println!("3 + 0 == 3"); }; } ``` The `self` -> `this` problem[^this] is (probably?) a separate problem that I am also looking into. [^this]: As mentioned in [my comment on the above issue](rust-lang/rust-analyzer#12860 (comment)), inlining a method defined in a macro does not properly replace `self` with the new local `this`.
flip1995
pushed a commit
to flip1995/rust
that referenced
this issue
Jun 13, 2024
Handle const effects inherited from parent correctly in `type_certainty` This fixes a (debug) ICE in `type_certainty` that happened in the [k256 crate]. (I'm sure you can also specifically construct an edge test case that will run into type_certainty false positives visible outside of debug builds from this bug) <details> <summary>Minimal ICE repro</summary> ```rs use std::ops::Add; Add::add(1_i32, 1).add(i32::MIN); ``` </details> The subtraction here overflowed: https://github.com/rust-lang/rust-clippy/blob/436675b4772049a0ff535bd46d944689c90ed750/clippy_utils/src/ty/type_certainty/mod.rs#L209 ... when we have something like `Add::add` where `add` fn has 0 generic params but the `host_effect_index` is `Some(2)` (inherited from the parent generics, the const trait `Add`), and we end up executing `0 - 1`. (Even if the own generics weren't empty and we didn't overflow, this would still be wrong because it would assume that a trait method with 1 generic parameter didn't have any generics). So, *only* exclude the "host" generic parameter if it's actually bound by the own generics changelog: none [k256 crate]: https://github.com/RustCrypto/elliptic-curves/tree/master/k256
# for free
to join this conversation on GitHub.
Already have an account?
# to comment
Labels
A-debuginfo
Area: Debugging information in compiled programs (DWARF, PDB, etc.)
A-testsuite
Area: The testsuite used to check the correctness of rustc
I think this might be because my terminal is too wide, or perhaps gdb version differences?
cc @michaelwoerister
The text was updated successfully, but these errors were encountered: