-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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
debug-info/limited-debuginfo.rs failure #12877
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in 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: