| Age | Commit message (Collapse) | Author | Lines |
|
Revert "Auto merge of #133809 - mrkajetanp:ci-aarch64-dist, r=Kobzol"
This reverts https://github.com/rust-lang/rust/pull/133809, as it produced broken aarch64 artifacts (https://github.com/rust-lang/rust/issues/134563).
`@bors` p=1
|
|
|
|
Document these two feature flags.
|
|
This reverts commit 023521e6825edfa6df01e392520d7cb120eab158, reversing
changes made to c434b4b4b6cd20560c5b32e80b2b22618a4da3dd.
|
|
|
|
doctest compilation
|
|
Improve dependency_format a bit
* Make `DependencyList` an `IndexVec` rather than emulating one using a `Vec` (which was off-by-one as LOCAL_CRATE was intentionally skipped)
* Update some comments for the fact that we now use `#[global_allocator]` rather than `extern crate alloc_system;`/`extern crate alloc_jemalloc;` for specifying which allocator to use. We still use a similar mechanism for the panic runtime, so refer to the panic runtime in those comments instead.
* An unrelated refactor to `create_and_enter_global_ctxt` I forgot to include in https://github.com/rust-lang/rust/pull/134302. This refactor is too small to be worth it's own PR.
|
|
To keep them organized.
|
|
Clear flycheck diagnostics more granularly
|
|
|
|
|
|
|
|
|
|
|
|
fix: Fix a case where completion was unable to expand a macro
|
|
Which caused the macros of the popular `tracing` crate to not offer completions.
The reason is rather complicated: it boils down to macro ignoring their input and completion always choosing the first expansion.
|
|
internal: Split `serde` derive feature into `serde_derive` usage
|
|
minor: Use a record struct instead of a tuple for each namespace in `PerNs`
|
|
Ideally we'd not have any dependency pull in the derive feature for faster build times, once that is the case this change would have an actual effect.
See https://github.com/matklad/macro-dep-test/blob/master/README.md for context.
|
|
|
|
|
|
|
|
There are few things to note in the implementation:
First, this is a best-effort implementation. Mainly, type aliases may not be shown (due to their eager nature it's harder) and partial pathes (aka. hovering over `Struct` in `Struct::method`) are not supported at all.
Second, we only need to show substitutions in expression and pattern position, because in type position all generic arguments always have to be written explicitly.
|
|
fix: Reduce applicability of unnecessary_async assist
|
|
|
|
Hide `= _` as associated constant value inside impl blocks
Closes #134320.
### Before:
<img src="https://github.com/user-attachments/assets/19d28811-45d2-4563-9726-f40c6af411c6" width="300"> <img src="https://github.com/user-attachments/assets/1ecf8764-97ce-47f0-87fa-3b174d2fc578" width="300">
### After:
<img src="https://github.com/user-attachments/assets/6408c4ca-b1c4-42e4-884b-248833a4865f" width="300"> <img src="https://github.com/user-attachments/assets/df2f6981-16f6-409f-8abb-73c0a4a71d6b" width="300">
r? `@fmease`
|
|
Pass FnAbi to find_mir_or_eval_fn
https://github.com/rust-lang/miri/issues/4013 needs information from ``FnAbi``, hence it is passed to ``find_mir_or_eval_fn``.
r? `@RalfJung`
|
|
|
|
|
|
ci: use ubuntu-22 for large runners
|
|
Rollup of 5 pull requests
Successful merges:
- #134463 (compiletest: don't register predefined `MSVC`/`NONMSVC` FileCheck prefixes)
- #134487 (Add reference annotations for the `coverage` attribute)
- #134497 (coverage: Store coverage source regions as `Span` until codegen (take 2))
- #134502 (Update std libc version to 0.2.169)
- #134506 (Remove a duplicated check that doesn't do anything anymore.)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Speed up `Parser::expected_tokens`
The constant pushing/clearing of `Parser::expected_tokens` during parsing is slow. This PR speeds it up greatly.
r? `@estebank`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
internal: Set `result_id` for pull diagnostics
|
|
|
|
|
|
compiletest: don't register predefined `MSVC`/`NONMSVC` FileCheck prefixes
This was fragile as it was based on host target passed to compiletest,
but the user could cross-compile and run test for a different target
(e.g. cross from linux to msvc, but msvc won't be set on the target).
Furthermore, it was also very surprising as normally revision names
(other than `CHECK`) was accepted as FileCheck prefixes.
This partially reverts the `MSVC`/`NONMSVC` predefined FileCheck
prefix registration introduced historically for some codegen tests.
This makes some codegen tests more verbose since they now need to
explicitly introduce `MSVC`/`NONMSVC` revisions, but I think that's
less surprising, e.g.:
```rs
//@ revisions: MSVC NONMSVC
//`@[MSVC]` only-msvc
//`@[NONMSVC]` ignore-msvc
```
Note that revisions are not *only* FileCheck prefixes in
FileCheck-based test suites, as they also can be used
to conditionally apply certain compiletest directives.
r? `@Zalathar` (or reroll a `r/? compiletest` reviewer)
try-job: x86_64-msvc
try-job: i686-msvc
try-job: x86_64-mingw-1
try-job: i686-mingw
|
|
|
|
This was fragile as it was based on host target passed to compiletest,
but the user could cross-compile and run test for a different target
(e.g. cross from linux to msvc, but msvc won't be set on the target).
Furthermore, it was also very surprising as normally revision names
(other than `CHECK`) was accepted as FileCheck prefixes.
|
|
Rollup of 7 pull requests
Successful merges:
- #133702 (Variants::Single: do not use invalid VariantIdx for uninhabited enums)
- #134427 (ci: remove duplicate task definition)
- #134432 (Fix intra doc links not generated inside footnote definitions)
- #134437 (reduce compiler `Assemble` complexity)
- #134474 (Forbid overwriting types in typeck)
- #134477 (move lint_unused_mut into sub-fn)
- #134491 (Some destructor/drop related tweaks)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
reduce compiler `Assemble` complexity
`compile::Assemble` is already complicated by its nature (as it handles core internals like recursive building logic, etc.) and also handles half of `LldWrapper` tool logic for no good reason since it should be done in the build step directly.
This change moves it there to reduce complexity of `compile::Assemble` logic.
|
|
Fix intra doc links not generated inside footnote definitions
Fixes #132208.
The problem was that we were running the `Footnote` "pass" before the `LinkReplacer` one. Sadly, the change is bigger than it should because we can't specialize the `Iterator` trait implementation, forcing me to add a new type to handle the other `Iterator` kind (the one which still has the `Range`).
r? ``@notriddle``
|
|
ci: remove duplicate task definition
try-job: x86_64-gnu-llvm-19-1
try-job: x86_64-gnu-llvm-19-2
try-job: x86_64-gnu-llvm-19-3
try-job: x86_64-gnu-llvm-18-1
try-job: x86_64-gnu-llvm-18-2
try-job: x86_64-gnu-llvm-18-3
try-job: i686-gnu-1
try-job: i686-gnu-2
try-job: i686-gnu-nopt-1
try-job: i686-gnu-nopt-2
|
|
Variants::Single: do not use invalid VariantIdx for uninhabited enums
~~Stacked on top of https://github.com/rust-lang/rust/pull/133681, only the last commit is new.~~
Currently, `Variants::Single` for an empty enum contains a `VariantIdx` of 0; looking that up in the enum variant list will ICE. That's quite confusing. So let's fix that by adding a new `Variants::Empty` case for types that have 0 variants.
try-job: i686-msvc
|
|
cleanup region handling: add `LateParamRegionKind`
The second commit is to enable a split between `BoundRegionKind` and `LateParamRegionKind`, by avoiding `BoundRegionKind` where it isn't necessary.
The third comment then adds `LateParamRegionKind` to avoid having the same late-param region for separate bound regions. This fixes #124021.
r? `@compiler-errors`
|