| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
feat: Add `dyn` keyword inlay hints
|
|
|
|
|
|
|
|
native-lib: allow multiple libraries and/or dirs
|
|
rust-lang/dependabot/npm_and_yarn/editors/code/tar-fs-2.1.3
chore(deps): bump tar-fs from 2.1.2 to 2.1.3 in /editors/code
|
|
davidbarsky/davidbarsky/add-some-additional-incrementalism-tests
hir-ty: add incremental tests checking for `infer` invalidation
|
|
|
|
|
|
index: add method for checking range on DenseBitSet
Micro-optimisation that Miri benefits from with the new isolated allocator for native-libs mode. Also possibly just a useful method to have on `DenseBitSet`
|
|
Revert `cargo-workspaces` version fix
|
|
|
|
|
|
ci: Pin `cargo-workspaces` to `0.3.6`
|
|
Rollup of 8 pull requests
Successful merges:
- rust-lang/rust#137725 (Add `iter` macro)
- rust-lang/rust#141455 (std: abort the process on failure to allocate a TLS key)
- rust-lang/rust#141569 (Replace ad-hoc ABI "adjustments" with an `AbiMap` to `CanonAbi`)
- rust-lang/rust#141698 (Use the informative error as the main const eval error message)
- rust-lang/rust#141925 (Remove bootstrap cfgs from library/)
- rust-lang/rust#141943 (Remove pre-expansion AST stats.)
- rust-lang/rust#141945 (Remove `Path::is_ident`.)
- rust-lang/rust#141957 (Add missing `dyn` keywords to tests that do not test for them Part 2)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
Use the informative error as the main const eval error message
r? `@RalfJung`
I only did the minimal changes necessary to the const eval error machinery. I'd prefer not to mix test changes with refactorings 😆
|
|
Replace ad-hoc ABI "adjustments" with an `AbiMap` to `CanonAbi`
Our `conv_from_spec_abi`, `adjust_abi`, and `is_abi_supported` combine to give us a very confusing way of reasoning about what _actual_ calling convention we want to lower our code to and whether we want to compile the resulting code at all. Instead of leaving this code as a miniature adventure game in which someone tries to combine stateful mutations into a Rube Goldberg machine that will let them escape the maze and arrive at the promised land of codegen, we let `AbiMap` devour this complexity. Once you have an `AbiMap`, you can answer which `ExternAbi`s will lower to what `CanonAbi`s (and whether they will lower at all).
Removed:
- `conv_from_spec_abi` replaced by `AbiMap::canonize_abi`
- `adjust_abi` replaced by same
- `Conv::PreserveAll` as unused
- `Conv::Cold` as unused
- `enum Conv` replaced by `enum CanonAbi`
target-spec.json changes:
- If you have a target-spec.json then now your "entry-abi" key will be specified in terms of one of the `"{abi}"` strings Rust recognizes, e.g.
```json
"entry-abi": "C",
"entry-abi": "win64",
"entry-abi": "aapcs",
```
|
|
|
|
Merge `compiler-builtins` as a Josh subtree
Use the Josh [1] utility to add `compiler-builtins` as a subtree, which
will allow us to stop using crates.io for updates. This is intended to
help resolve some problems when unstable features change and require
code changes in `compiler-builtins`, which sometimes gets trapped in a
bootstrap cycle.
This was done using `josh-filter` built from the r24.10.04 tag:
git fetch https://github.com/rust-lang/compiler-builtins.git 233434412fe7eced8f1ddbfeddabef1d55e493bd
josh-filter ":prefix=library/compiler-builtins" FETCH_HEAD
git merge --allow-unrelated FILTERED_HEAD
The HEAD in the `compiler-builtins` repository is 233434412f ("fix an if
statement that can be collapsed").
[1]: https://github.com/josh-project/josh
|
|
This adds an `iter!` macro that can be used to create movable
generators.
This also adds a yield_expr feature so the `yield` keyword can be used
within iter! macro bodies. This was needed because several unstable
features each need `yield` expressions, so this allows us to stabilize
them separately from any individual feature.
Co-authored-by: Oli Scherer <github35764891676564198441@oli-obk.de>
Co-authored-by: Jieyou Xu <jieyouxu@outlook.com>
Co-authored-by: Travis Cross <tc@traviscross.com>
|
|
|
|
change tests in std, core and coretests.
|
|
|
|
|
|
|
|
Rollup of 9 pull requests
Successful merges:
- rust-lang/rust#141554 (Improve documentation for codegen options)
- rust-lang/rust#141817 (rustc_llvm: add Windows system libs only when cross-compiling from Wi…)
- rust-lang/rust#141843 (Add `visit_id` to ast `Visitor`)
- rust-lang/rust#141881 (Subtree update of `rust-analyzer`)
- rust-lang/rust#141898 ([rustdoc-json] Implement PartialOrd and Ord for rustdoc_types::Id)
- rust-lang/rust#141921 (Disable f64 minimum/maximum tests for arm 32)
- rust-lang/rust#141930 (Enable triagebot `[concern]` functionality)
- rust-lang/rust#141936 (Decouple "reporting in deps" from `FutureIncompatibilityReason`)
- rust-lang/rust#141949 (move `test-float-parse` tool into `src/tools` dir)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
move `test-float-parse` tool into `src/tools` dir
Obviously `test-float-parse` is a tool like any other in `src/tools`.
cc `@tgross35`
|
|
Subtree update of `rust-analyzer`
r? `@ghost`
|
|
Bumps [tar-fs](https://github.com/mafintosh/tar-fs) from 2.1.2 to 2.1.3.
- [Commits](https://github.com/mafintosh/tar-fs/commits)
---
updated-dependencies:
- dependency-name: tar-fs
dependency-version: 2.1.3
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
Obviously `test-float-parse` is a tool like any other in `src/tools`.
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
Add a quickfix for accessing a private field of a struct
|
|
fix: Cycle handlers for `HirDatabase::infer, const_param_ty_with_diagnostics`
|
|
Enable Assist edit for tuple<->named struct for the struct and visiblity keywords
|
|
|
|
Overhaul `UsePath`
It currently uses `SmallVec<[Res; 3]>` which is really weird. Details in the individual commits.
r? `@petrochenkov`
|
|
|
|
|
|
|
|
|
|
`UsePath` contains a `SmallVec<[Res; 3]>`. This holds up to three `Res`
results, one per namespace (type, value, or macro). `lower_import_res`
takes a `PerNS<Option<Res<NodeId>>>` result and lowers it into the
`SmallVec`. This is pretty weird. The input `PerNS` makes it clear which
`Res` belongs to which namespace, but the `SmallVec` throws that
information away.
And code that operates on the `SmallVec` tends to use iteration (or even
just grabbing the first entry!) without knowing which namespace the
`Res` belongs to. Even weirder! Also, `SmallVec` is an overly flexible
type to use here, because it can contain any number of elements (even
though it's optimized for 3 in this case).
This commit changes `UsePath` so it also contains a
`PerNS<Option<Res<HirId>>>`. This type preserves more information and is
more self-documenting. The commit also changes a lot of the use sites to
access the result for a particular namespace. E.g. if you're looking up
a trait, it will be in the `Res` for the type namespace if it's present;
it's silly to look in the `Res` for the value namespace or macro
namespace. Overall I find the new code much easier to understand.
However, some use sites still iterate. These now use `present_items`
because that filters out the `None` results.
Also, `redundant_pub_crate.rs` gets a bigger change. A
`UseKind:ListStem` item gets no `Res` results, which means the old `all`
call in `is_not_macro_export` would succeed (because `all` succeeds on
an empty iterator) and the `ListStem` would be ignored. This is what we
want, but was more by luck than design. The new code detects `ListStem`
explicitly. The commit generalizes the name of that function
accordingly.
Finally, the commit also removes the `use_path` arena, because
`PerNS<Option<Res>>` impls `Copy` (unlike `SmallVec`) and it can be
allocated in the arena shared by all `Copy` types.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
symbol
Co-authored-by: Jake Goulding <jake.goulding@integer32.com>
|