-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Rollup of 11 pull requests #102926
Rollup of 11 pull requests #102926
Conversation
Specifically as it relates to the ABA problem.
Simplify feature representation in CargoConfig
Remove reference to Toggle inlay hints This simply removes the reference to the `Toggle inlay hints` action after its removal in rust-lang/rust-analyzer#13215. In fact, this reference is still visible [in the User Manual here](https://rust-analyzer.github.io/manual.html#inlay-hints).
…ykril Ensure at least one trait bound in `TyKind::DynTy` One would expect `TyKind::DynTy` to have at least one trait bound, but we may produce a dyn type with no trait bounds at all. This patch prevents it by returning `TyKind::Error` in such cases. An "empty" dyn type would have caused panic during method resolution without rust-lang#13257. Although already fixed, I think an invariant to never produce such types would help prevent similar problems in the future.
feat: Display the value of enum variant on hover fixes rust-lang#12955 This PR adds const eval support for enums, as well as showing their value on hover, just as consts currently have. I developed these two things at the same time, but I've realized now that they are separate. However since the hover is just a 10 line change (not including tests), I figured I may as well put them in the same PR. Though if you want them split up into "enum const eval support" and "show enum variant value on hover", I think that's reasonable too. Since this adds const eval support for enums this also allows consts that reference enums to have their values computed now too. The const evaluation itself is quite rudimentary, it doesn't keep track of the actual type of the enum, but it turns out that Rust doesn't actually either, and `E::A as u8` is valid regardless of the `repr` on `E`. It also doesn't really care about what expression the enum variant contains, it could for example be a string, despite that not being allowed, but I guess it's up to the `cargo check` diagnostics to inform of such issues anyway?
fs::get_path solarish version. similar to linux, albeit there is no /proc/self notion on solaris based system thus flattening the difference for simplification sake.
…mulacrum Add `is_empty()` method to `core::ffi::CStr`. ACP: rust-lang/libs-team#106 Tracking issue: rust-lang#102444
…-diagnostics-structs, r=davidtwco Migrate `codegen_ssa` to diagnostics structs - [Part 1] Initial migration of `codegen_ssa`. Going to split this crate migration in at least two PRs in order to avoid a huge PR and to quick off some questions around: 1. Translating messages from "external" crates. 2. Interfacing with OS messages. 3. Adding UI tests while migrating diagnostics. _See comments below._
Interpret EH actions properly The EH actions stored in the LSDA follows the format of GCC except table (even for LLVM-generated code). An missing action in the table is the encoding for `Terminate`, see https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/libsupc%2B%2B/eh_personality.cc#L522-L526. The currently code interprets it as `None`, as a workaround for rust-lang#35011, an issue that seems to occur in LLVM 3.7 and not after 3.9. These are very old versions of LLVM and we don't support them anymore, so remove this workaround and interpret them properly. Note that LLVM currently does not emit any `Terminate` actions, but GCC does. Although GCC backend currently doesn't do unwinding, removing it preemptively would prevent future developers from wasting time to figure out what's wrong. ``@rustbot`` label: +T-compiler
Add basename and dirname aliases Users might be used to the POSIX names of these functions. In fact, here's a [blog post][1] about this very thing. [1]: https://boinkor.net/2019/07/basename-and-dirname-in-rust/
rustc_hir: Less error-prone methods for accessing `PartialRes` resolution
…r=lnicola ⬆️ rust-analyzer r? `@ghost`
☀️ Test successful - checks-actions |
📌 Perf builds for each rolled up PR: previous master: cde693cf96 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Finished benchmarking commit (db0597f): comparison URL. Overall result: ✅ improvements - no action needed@rustbot label: -perf-regression Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
Max RSS (memory usage)ResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Footnotes |
This may not be as much of an improvement as it looks; the diesel-related changes are all spurious (we are seeing an uptick in noise there). Further investigation isn't warranted though. |
…iaskrgr Rollup of 11 pull requests Successful merges: - rust-lang#100387 (Check uniqueness of impl items by trait item when applicable.) - rust-lang#101727 (Stabilize map_first_last) - rust-lang#101774 (Warn about safety of `fetch_update`) - rust-lang#102227 (fs::get_path solarish version.) - rust-lang#102445 (Add `is_empty()` method to `core::ffi::CStr`.) - rust-lang#102612 (Migrate `codegen_ssa` to diagnostics structs - [Part 1]) - rust-lang#102685 (Interpret EH actions properly) - rust-lang#102869 (Add basename and dirname aliases) - rust-lang#102889 (rustc_hir: Less error-prone methods for accessing `PartialRes` resolution) - rust-lang#102893 (Fix ICE rust-lang#102878) - rust-lang#102912 (:arrow_up: rust-analyzer) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Successful merges:
fetch_update
#101774 (Warn about safety offetch_update
)is_empty()
method tocore::ffi::CStr
. #102445 (Addis_empty()
method tocore::ffi::CStr
.)codegen_ssa
to diagnostics structs - [Part 1] #102612 (Migratecodegen_ssa
to diagnostics structs - [Part 1])PartialRes
resolution #102889 (rustc_hir: Less error-prone methods for accessingPartialRes
resolution)Failed merges:
r? @ghost
@rustbot modify labels: rollup
Create a similar rollup