| Age | Commit message (Collapse) | Author | Lines |
|
Remove redundant session field
There was already a session available in the resolver, so we access that session.
|
|
riscv: Fix ELF header flags
The previous version added both `EF_RISCV_FLOAT_ABI_DOUBLE` and `EF_RISCV_RVC` if the "D" extension was enabled on riscv64 targets. riscv32 targets were not accounted for. This patch changes this so that:
- Only add `EF_RISCV_RVC` if the "C" extension is enabled
- Add `EF_RISCV_FLOAT_ABI_SINGLE` if the "F" extension is enabled and the "D" extension is not
- Add these ELF flags for riscv32 as well
Fixes #104284
r? rust-lang/risc-v
|
|
Normalize test output more thoroughly
This prevents differences in local environments, which may (for example) end up with a longer backtrace with more digits in the backtrace prefix, as happened to me. While we're at it, clean more of the output up, including the exact location of the error in the compiler.
cc https://github.com/rust-lang/rust/pull/106521 which introduced this test
|
|
Fix `mpsc::SyncSender` spinning behavior
Resolves https://github.com/rust-lang/rust/issues/106668.
|
|
Warn when using panic-strategy abort for proc-macro crates
See https://github.com/rust-lang/rust/issues/82320, this simply warns for now as that seems like the best step that can be immediately taken (opposed to straight up rejecting or ignoring)
|
|
Provide help on closures capturing self causing borrow checker errors
Fixes #105761
r? ````@estebank````
|
|
When suggesting writing a fully qualified path probe for appropriate types
Address the more common part of #46585.
|
|
Fix linker detection for linker (drivers) with a version postfix (e.g. clang-12 instead of clang)
Linker (drivers) such as clang / gcc or lld often have a version postfix matching the regex "-\d+$".
Previously, linker detection did not account for the possible version postfix and the fallback value was used, which can cause linker errors due to wrong arguments.
Also remove the check for `-clang`, since there are no architecture specific variants of clang (to my knowledge).
Fixes #106454
|
|
Bump `IMPLIED_BOUNDS_ENTAILMENT` to Deny + ReportNow
https://github.com/rust-lang/rust/pull/105575#issuecomment-1357201969
> and then later in the same cycle increase the lint to `deny` and change it to `FutureCompatReportNow` in this nightly cycle.
r? ```@lcnr``` when they're back from holiday :smile:
|
|
Add log-backtrace option to show backtraces along with logging
according to #90698, I added a compiler option, `-Zlog-backtrace=filter`, where `filter` is a module name, to show backtraces for logging without rebuilding.
resolve #90698
|
|
Linker drivers such as gcc, clang or lld often have a version postfix,
e.g clang-12. The previous logic would not account for this and would
fall back to guessing the linker flavor to be the default linker flavor
for the target, which causes linker errors when this is not the case.
By accounting for the possible version postfix and also considering
g++ and clang++, we considerably reduce the amount of times the
fallback guess has to be used.
To simplify matching check for a version postfix and match against the
linker stem without any version postfix.
In contrast to gcc, clang supports all architectures in one binary.
This means there are no variants like `aarch64-linux-gnu-clang` and
there is no need to check for `-clang` variants.
|
|
|
|
Feed a bunch of queries instead of tracking fields on TyCtxt
r? `@cjgillot`
pulled out of https://github.com/rust-lang/rust/pull/105462
|
|
Rollup of 6 pull requests
Successful merges:
- #106608 (Render missing generics suggestion verbosely)
- #106716 ([RFC 2397] Deny incorrect locations)
- #106754 (Rename `Ty::is_ty_infer` -> `Ty::is_ty_or_numeric_infer`)
- #106782 (Ignore tests move in git blame)
- #106785 (Make blame spans better for impl wfcheck)
- #106791 (Fix ICE formatting)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
Fix ICE formatting
|
|
Make blame spans better for impl wfcheck
r? types
|
|
Ignore tests move in git blame
This commit is not relevant in the history, but may clobber the git blame output.
|
|
Rename `Ty::is_ty_infer` -> `Ty::is_ty_or_numeric_infer`
Makes sure people are aware that they may have a type variable *or* an int/float variable.
r? `@oli-obk` https://github.com/rust-lang/rust/pull/106322#issuecomment-1376913539 but I could instead implement your solution, let me know.
(This will conflict with #106322 for now, ignore that :smile:)
|
|
[RFC 2397] Deny incorrect locations
cc #51992
As declared in the RFC, `#[do_not_recommend]` should only be applicable on trait implementations.
|
|
Render missing generics suggestion verbosely
It's a bit easier to read like this, especially ones that are appending new generics onto an existing list, like ": `, T`" which render somewhat poorly inline.
Also don't suggest `dyn` as a type parameter to add, even if technically that's valid in edition 2015.
|
|
Add checks for the signature of the `start` lang item
Closes #105963
|
|
|
|
The previous version added both `EF_RISCV_FLOAT_ABI_DOUBLE` and
`EF_RISCV_RVC` if the "D" extension was enabled on riscv64 targets.
riscv32 targets were not accounted for. This patch changes this
so that:
- Only add `EF_RISCV_RVC` if the "C" extension is enabled
- Add `EF_RISCV_FLOAT_ABI_SINGLE` if the "F" extension is enabled
and the "D" extension is not
- Add these ELF flags for riscv32 as well
|
|
Const closures
cc https://github.com/rust-lang/rust/issues/106003
|
|
This prevents differences in local environments, which may (for example)
end up with a longer backtrace with more digits in the backtrace prefix,
as happened to me. While we're at it, clean more of the output up,
including the exact location of the error in the compiler.
|
|
Migrate `rustc_lint` lint diagnostics
Part 2 of [Migrate `rustc_lint` errors to `SessionDiagnostic`](https://github.com/rust-lang/rust/pull/100776)
r? `@davidtwco`
# TODO
- [x] Refactor some lints manually implementing `DecorateLint` to use `Option<Subdiagnostic>`.
- [x] Add `#[rustc_lint_diagnostics]` to lint functions in `context.rs`.
- [x] Migrate `hidden_unicode_codepoints.rs`.
- [x] Migrate `UnsafeCode` in `builtin.rs`.
- [x] Migrate the rest of `builtin.rs`.
|
|
|
|
|
|
|
|
Rollup of 8 pull requests
Successful merges:
- #105795 (Stabilize `abi_efiapi` feature)
- #106446 ([LSDA] Take ttype_index into account when taking unwind action)
- #106675 (Mark ZST as FFI-safe if all its fields are PhantomData)
- #106740 (Adding a hint on iterator type errors)
- #106741 (Fix reexport of `doc(hidden)` item)
- #106759 (Revert "Make nested RPITIT inherit the parent opaque's generics.")
- #106772 (Re-add mw to review rotation)
- #106778 (Exclude formatting commit from blame)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
|
|
|
|
Exclude formatting commit from blame
Excludes https://github.com/rust-lang/rust/commit/c34fbfaad38cf5829ef5cfe780dc9d58480adeaa (cc `@dtolnay)` to make Git blame a bit more useful.
|
|
Re-add mw to review rotation
r? `@wesleywiser`
|
|
Revert "Make nested RPITIT inherit the parent opaque's generics."
This reverts commit e2d41f4c974f0cc09e5aafb02883f222487610f9, and adjusts the `tests/ui/async-await/in-trait/nested-rpit.rs` test.
r? `@cjgillot`
fixes #106332, manually verified because it had no minimization :/
reopens #105197
cc #106729
|
|
Fix reexport of `doc(hidden)` item
Part of #59368.
It doesn't fix the `doc(inline)` nor the `doc(hidden)` on macro. I'll do it in a follow-up PR.
r? `@notriddle`
|
|
Adding a hint on iterator type errors
Issue reference https://github.com/rust-lang/rust/issues/106728
- [x] add a case in the attribute
- [x] add a test
closes #106728
|
|
Mark ZST as FFI-safe if all its fields are PhantomData
This presents one possible solution to issue: #106629.
This is my first (tentative) contribution to the compiler itself.
I'm looking forward for comments and feedback
Closes: #106629
|
|
[LSDA] Take ttype_index into account when taking unwind action
If `cs_action != 0`, we should check the `ttype_index` field in action record. If `ttype_index == 0`, a clean up action is taken; otherwise catch action is taken.
This can fix unwind failure on AIX which uses LLVM's libunwind by default. IIUC, rust's LSDA is borrowed from c++ and I'm assuming itanium-cxx-abi https://itanium-cxx-abi.github.io/cxx-abi/exceptions.pdf should be followed, so the fix follows what libcxxabi does. See https://github.com/llvm/llvm-project/blob/ec48682ce9f61d056361c5095f21e930b8365661/libcxxabi/src/cxa_personality.cpp#L152 for use of `ttype_index`.
|
|
Stabilize `abi_efiapi` feature
Tracking issue: https://github.com/rust-lang/rust/issues/65815
Closes #65815
|
|
|
|
|
|
|
|
Update Clippy
r? `@Manishearth`
|
|
|
|
Partially revert #9701
This partially reverts #9701 due to #10134
r? `@flip1995`
changelog: None
|
|
|
|
c7dc96155853a3919b973347277d0e9bcaaa22f0, ed519ad746e31f64c4e9255be561785612532d37 and c6477eb71188311f01f409da628fab7062697bd7
|