| Age | Commit message (Collapse) | Author | Lines |
|
resolves https://github.com/rust-lang/rust-clippy/issues/15430
changelog: [`too_many_lines`]: only highlight the function signature
|
|
Fixes https://github.com/rust-lang/rust-clippy/issues/14534
r? @flip1995
changelog: none
|
|
changelog: none
|
|
|
|
changelog: none
|
|
Automatic Rustup
|
|
|
|
|
|
changelog: [`match_bool`]: do not replace `match` by `if` if any arm
contains a binding
Fixes rust-lang/rust-clippy#15351
|
|
|
|
Losslessly optimizes all of the PNG files in the repo. Done with:
```
oxipng -o max -a -s
oxipng -o max --zopfli -a -s
```
|
|
|
|
|
|
|
|
|
|
|
|
miri subtree update
Subtree update of `miri` to https://github.com/rust-lang/miri/commit/980da679e4da038a723c56b2af892ff7ea0209fc.
Created using https://github.com/rust-lang/josh-sync.
r? `@ghost`
|
|
Consolidate all the panicking functions in `slice/index.rs` to use a single
`slice_index_fail` function, similar to how it is done in `str/traits.rs`.
|
|
|
|
|
|
modifiers with custom consistency check function
|
|
|
|
|
|
Basically continuing the work in
https://github.com/rust-lang/rust-clippy/issues/6680
Honestly I think the lint could also be run on (trait) impl items, but I
didn't implement that because of the feature freeze. If that is deemed
okay to add in this PR though, I could happily do so.
changelog: none
|
|
All of these were demoted to tier 3 a while ago and we aren't building
LLVM for them anymore.
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
|
|
Rollup of 19 pull requests
Successful merges:
- rust-lang/rust#143383 (stabilize `const_array_each_ref`)
- rust-lang/rust#144758 ([Doc] Add links to the various collections)
- rust-lang/rust#144915 (Defer tail call ret ty equality to check_tail_calls)
- rust-lang/rust#145256 (Add new `--test-codegen-backend` bootstrap option)
- rust-lang/rust#145297 (fix(debuginfo): handle false positives in overflow check)
- rust-lang/rust#145390 (Shorten some dependency chains in the compiler)
- rust-lang/rust#145415 (std_detect: RISC-V: implement implication to "C")
- rust-lang/rust#145525 (stdlib: Replace typedef -> type alias in doc comment)
- rust-lang/rust#145590 (Prevent impossible combinations in `ast::ModKind`.)
- rust-lang/rust#145593 (UnsafePinned::raw_get: sync signature with get)
- rust-lang/rust#145621 (Fix some doc typos)
- rust-lang/rust#145627 (Unconditionally-const supertraits are considered not dyn compatible)
- rust-lang/rust#145642 (Do not use effective_visibilities query for Adt types of a local trait while proving a where-clause)
- rust-lang/rust#145650 (Fix JS search scripts path)
- rust-lang/rust#145654 (Download CI GCC into the correct directory)
- rust-lang/rust#145662 (Enforce correct number of arguments for `"x86-interrupt"` functions)
- rust-lang/rust#145673 (Add flock support for cygwin)
- rust-lang/rust#145674 (Enable triagebot `[review-changes-since]` feature)
- rust-lang/rust#145678 (Fix typo in docstring)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Attach the DB when mapping the result of `world_symbols()`
|
|
Fix typo in docstring
The return type is correct in the source code but incorrect in the docstring.
|
|
Enable triagebot `[review-changes-since]` feature
This PR enables triagebot [`[review-changes-since]` feature](https://forge.rust-lang.org/triagebot/review-changes-since.html).
It's a complement to triagebot `[range-diff]` feature which adds at the end of a review body a link to view the changes that happened since the review.
Asked in [#t-compiler > Experimental range-diff for force-push @ 💬](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/Experimental.20range-diff.20for.20force-push/near/534963522)
r? Kobzol
|
|
Add flock support for cygwin
See discussion: https://github.com/rust-lang/rust/issues/145534#issuecomment-3207265236
cc: ``@jeremyd2019``
|
|
Enforce correct number of arguments for `"x86-interrupt"` functions
Tracking issue: rust-lang/rust#40180
Partially fixes rust-lang/rust#132835
`````@rustbot````` label: +F-abi_x86_interrupt +A-LLVM +O-x86_64 +O-x86_32 +A-ABI
|
|
Download CI GCC into the correct directory
While doing various experiments with stage3 cross-compilations, I realized that bootstrap is unable to download LLVM from CI for a non-host target, which is quite annoying. Fixing this for LLVM will take some work, but in the meantime we can easily fix this for `download-ci-gcc`, which was implemented in a much more self-contained way.
|
|
Fix JS search scripts path
`rootPath` always end with a `/` so we should not add one. Interestingly enough, it only triggers the bug on a website (like https://doc.rust-lang.org/nightly/std/).
Follow-up of https://github.com/rust-lang/rust/pull/144476.
Fixes rust-lang/rust#145646.
cc `````@notriddle`````
r? `````@fmease`````
|
|
Do not use effective_visibilities query for Adt types of a local trait while proving a where-clause
Partially fix rust-lang/rust#145611, but we should do something make cycle in this situation ICE.
Instead of using a query, call `&tcx.resolutions(()).effective_visibilities`.
r? `````@lcnr`````
cc `````@compiler-errors`````
|
|
r=fee1-dead
Unconditionally-const supertraits are considered not dyn compatible
Let's save some space in the design of const traits by making `dyn Trait` where `trait Trait: const Super` not dyn compatible.
Such a trait cannot satisfy `dyn Trait: Trait`; we could in the future make this dyn compatible but *NOT* implement `Trait`, but that's a bit weird and seems like it needs to be independently justified moving forward.
Fixes https://github.com/rust-lang/rust/issues/145198
r? fee1-dead
|
|
Fix some doc typos
Hi all
Hope the changes are in the correct repo.
If not please point me towards the correct locations.
Cheers
|
|
UnsafePinned::raw_get: sync signature with get
This was forgotten in https://github.com/rust-lang/rust/pull/142162.
Tracking issue: https://github.com/rust-lang/rust/issues/125735.
|
|
Prevent impossible combinations in `ast::ModKind`.
`ModKind::Loaded` has an `inline` field and a `had_parse_error` field. If the `inline` field is `Inline::Yes` then `had_parse_error` must be `Ok(())`.
This commit moves the `had_parse_error` field into the `Inline::No` variant. This makes it impossible to create the nonsensical combination of `inline == Inline::Yes` and `had_parse_error = Err(_)`.
r? ```@Urgau```
|
|
Prevent impossible combinations in `ast::ModKind`.
`ModKind::Loaded` has an `inline` field and a `had_parse_error` field. If the `inline` field is `Inline::Yes` then `had_parse_error` must be `Ok(())`.
This commit moves the `had_parse_error` field into the `Inline::No` variant. This makes it impossible to create the nonsensical combination of `inline == Inline::Yes` and `had_parse_error = Err(_)`.
r? ```@Urgau```
|
|
stdlib: Replace typedef -> type alias in doc comment
'typedef' is jargon from C and C++.
Since the Rust reference uses the term [type alias](https://doc.rust-lang.org/reference/items/type-aliases.html),
this patch changes the doc comment in io/error.rs
to also use 'type alias'.
|
|
std_detect: RISC-V: implement implication to "C"
Just like we implemented relatively complex rules to imply other extensions **from** "C" (and some others), this commit implements implication **to** the "C" extension from others, complying the following text in the ISA Manual (although there's no direct imply/depend references).
> The C extension is the superset of the following extensions:
>
> - Zca
> - Zcf if F is specified (RV32 only)
> - Zcd if D is specified
This is formally verified so that no other extension combinations (*not* in this implementation) can (currently) imply the "C" extension.
Note: this is a `std_detect` change and not main target feature handling.
|
|
Shorten some dependency chains in the compiler
(I recommend reviewing this commit by commit.)
One of the long dependency chains in the compiler is:
- Many things depend on `rustc_errors`.
- `rustc_errors` depended on many things prior to this PR, including `rustc_target`, `rustc_type_ir`, `rustc_hir`, and `rustc_lint_defs`.
- `rustc_lint_defs` depended on `rustc_hir` prior to this PR.
- `rustc_hir` depends on `rustc_target`.
- `rustc_target` is large and takes a while.
This PR breaks that chain, through a few steps:
- The `IntoDiagArgs` trait, from `rustc_errors`, moves earlier in the dependency chain. This allows `rustc_errors` to stop depending on a pile of crates just to implement `IntoDiagArgs` for their types.
- Split `rustc_hir_id` out of `rustc_hir`, so crates that just need `HirId` and similar don't depend on all of `rust_hir` (and thus `rustc_target`).
- Make `rustc_lint_defs` stop depending on `rustc_hir`.
|
|
fix(debuginfo): handle false positives in overflow check
Fixes rust-lang/rust#144636.
Duplicate wrappers and normal recursive types can lead to false positives.
```rust
struct Recursive {
a: Box<Box<Recursive>>,
}
```
The ADT stack can be:
- `Box<Recursive>`
- `Recursive`
- `Box<Box<Recursive>>` (`Box` now detected as expanding)
We can filter them out by tracing the generic arg back through the stack, as true expanding recursive types must have their expanding arg used as generic arg throughout.
r? ````@wesleywiser````
|
|
r=Kobzol,bjorn3
Add new `--test-codegen-backend` bootstrap option
This new bootstrap command line flag allows to do:
```shell
./x.py test tests/ui/intrinsics/panic-uninitialized-zeroed.rs --stage 1 -j8 --test-codegen-backend gcc
```
This is the last step before running it into the CI.
Supersedes rust-lang/rust#144687.
r? ``````@Kobzol``````
|
|
r=WaffleLapkin,lcnr
Defer tail call ret ty equality to check_tail_calls
Fixes rust-lang/rust#144892.
Currently the tail call signature check assumes that return types have been accounted for. However, this is not complete for several reasons.
Firstly, we were using subtyping instead of equality in the HIR typeck code:
https://github.com/rust-lang/rust/blob/e1b9081e699065badfc1a9419ec9566e5c8615c4/compiler/rustc_hir_typeck/src/expr.rs#L1096
We could fix this, but it doesn't really do much for us anyways since HIR typeck doesn't care about regions.
That means, secondly, we'd need to fix the terminator type check in MIR typeck to account for variances, since tail call terminators need to relate their arguments invariantly to account for the "signature must be equal" rule. This seems annoying.
All of this seems like a lot of work, and we already are *manually* checking argument equality. Let's just extend the `check_tail_calls` to account for mismatches in return types anyways.
r? ``````@WaffleLapkin``````
|
|
[Doc] Add links to the various collections
Add a few links to the collections mentioned in the module doc for Collections.
|
|
stabilize `const_array_each_ref`
cc rust-lang/rust#133289, needs FCP.
|
|
We call `try_to_nav()` there.
|
|
Pull recent changes from https://github.com/rust-lang/rust via Josh.
Upstream ref: 125ff8a788c5d6a66917f499abdc00051afe6886
Filtered ref: bcbe2eb9c674ba7e35befb4557f33a1956964256
This merge was created using https://github.com/rust-lang/josh-sync.
|
|
This updates the rust-version file to 125ff8a788c5d6a66917f499abdc00051afe6886.
|