Commit Graph

239892 Commits

Author SHA1 Message Date
Andrew Hlynskyi
94cea4663a fix: add fallback for completion label details 2023-11-25 13:25:42 +02:00
bors
3668a8af1b Auto merge of #118277 - fmease:rollup-itucldm, r=fmease
Rollup of 9 pull requests

Successful merges:

 - #118220 (general improvements/fixes on bootstrap)
 - #118251 (rustdoc-search: avoid infinite where clause unbox)
 - #118253 (Replace `option.map(cond) == Some(true)` with `option.is_some_and(cond)`)
 - #118255 (Request that rust-analyzer changes are sent upstream first if possible)
 - #118259 (Move EagerResolution to rustc_infer::infer::resolve)
 - #118262 (Relate Inherent Associated Types using eq)
 - #118266 (Move stuff around on `stable_mir` and `rustc_smir` crate)
 - #118271 (Separate `NaN`/`Inf` floats with `_`)
 - #118274 (Fix smir's `Ty::Ref` pretty printing)

r? `@ghost`
`@rustbot` modify labels: rollup
2023-11-25 11:08:37 +00:00
bors
2132d786d6 Auto merge of #3190 - RalfJung:freebsd32, r=RalfJung
test Miri on 32bit FreeBSD
2023-11-25 10:52:43 +00:00
bjorn3
aa51a27f8e Merge commit '710c67909d034e1c663174a016ca82b95c2d6c12' into sync_cg_clif-2023-11-25 2023-11-25 10:05:52 +00:00
bjorn3
710c67909d
Merge pull request #1431 from rust-lang/even_more_simd_intrinsics
Implement another batch of vendor intrinsics
2023-11-25 10:57:11 +01:00
bjorn3
86fc533a71 Re-enable rustc test that was disabled due to a rustc bug 2023-11-25 09:40:02 +00:00
Ralf Jung
b750b54958 run tests on 32bit freebsd 2023-11-25 10:33:30 +01:00
Ralf Jung
ce94b22cd6 read off_t at the right size for the current target 2023-11-25 10:33:30 +01:00
bjorn3
da3782a0b4 Rustup to rustc 1.76.0-nightly (37b2813a7 2023-11-24) 2023-11-25 09:32:50 +00:00
bjorn3
85c708132f Sync from rust 37b2813a7b 2023-11-25 09:24:52 +00:00
León Orell Valerian Liehr
20d243e854
Rollup merge of #118274 - celinval:smir-fix-pretty, r=ouz-a
Fix smir's `Ty::Ref` pretty printing

Add `&` or `&mut` to reference when generating a string for `TyKind::Ref`.

r? `@ouz-a`
2023-11-25 10:21:09 +01:00
León Orell Valerian Liehr
a663bb946f
Rollup merge of #118271 - compiler-errors:float, r=RalfJung
Separate `NaN`/`Inf` floats with `_`

r? RalfJung

Fixes #118221

No test 🤷 unless you know a good way to print an `ImmTy` in a unit test?
2023-11-25 10:21:08 +01:00
León Orell Valerian Liehr
3f513bd9ce
Rollup merge of #118266 - celinval:smir-break-files, r=compiler-errors
Move stuff around on `stable_mir` and `rustc_smir` crate

1. Break down rustc_smir/mod.rs file.
    - This file was getting too big and causing a lot of merge conflicts.
      All these changes shouldn't be visible to users since this module is private.
2.  Move the compiler interface defs to its own module
    - Separate items that are exposed in the `stable_mir` crate to be used
      by the compiler from items that we expect to be used by tool developers.
2023-11-25 10:21:08 +01:00
León Orell Valerian Liehr
23461fd694
Rollup merge of #118262 - spastorino:relate-iats-using-eq, r=compiler-errors
Relate Inherent Associated Types using eq

We should call `eq` instead of `sup` as we're relating `Ty` directly and not `Binder<TraitRef>`.

This is part of #118118 but unrelated to that PR.

r? `@compiler-errors` `@lcnr`
2023-11-25 10:21:08 +01:00
León Orell Valerian Liehr
7c2244a625
Rollup merge of #118259 - spastorino:move-eager-resolver-to-infer, r=compiler-errors
Move EagerResolution to rustc_infer::infer::resolve

`EagerResolver` fits better in `rustc_infer::infer::resolver`.

Started to disentagle #118118 that has a lot of unrelated things.

r? `@compiler-errors` `@lcnr`
2023-11-25 10:21:07 +01:00
León Orell Valerian Liehr
969a77360d
Rollup merge of #118255 - dtolnay:mentionsrustanalyzer, r=Mark-Simulacrum
Request that rust-analyzer changes are sent upstream first if possible

This automates `@lnicola's` comment https://github.com/rust-lang/rust/pull/118253#issuecomment-1825925242.

Rustbot will write a comment similar to https://github.com/rust-lang/rust/pull/116743#issuecomment-1763178813.
2023-11-25 10:21:07 +01:00
León Orell Valerian Liehr
8e606a6928
Rollup merge of #118253 - dtolnay:issomeand, r=compiler-errors
Replace `option.map(cond) == Some(true)` with `option.is_some_and(cond)`

Requested by `@fmease` in https://github.com/rust-lang/rust/pull/118226#pullrequestreview-1747432292.

There is also a much larger number of `option.map_or(false, cond)` that can be changed separately if someone wants.

r? fmease
2023-11-25 10:21:06 +01:00
León Orell Valerian Liehr
0304aac0f3
Rollup merge of #118251 - notriddle:notriddle/less-recursion, r=GuillaumeGomez
rustdoc-search: avoid infinite where clause unbox

Fixes #118242
2023-11-25 10:21:06 +01:00
León Orell Valerian Liehr
fb2c498947
Rollup merge of #118220 - onur-ozkan:followups, r=Mark-Simulacrum
general improvements/fixes on bootstrap

- adds #117813 into change tracker 6d9b92f83f
- fixes a bug in change tracker 63a4410952
- relocates `CONFIG_CHANGE_HISTORY` a7dcb984f6
2023-11-25 10:21:05 +01:00
Ralf Jung
69ea9520d3 make tests/utils work with edition 2015 2023-11-25 10:20:27 +01:00
bjorn3
e6e2f00d21 Fix incorrect implementation of several vendor intrinsics 2023-11-25 09:14:37 +00:00
bors
fad6bb80fa Auto merge of #118075 - tmiasko:validate-critical-call-edges, r=cjgillot
Validate there are no critical call edges in optimized MIR
2023-11-25 09:10:44 +00:00
bors
b7912d38b1 Auto merge of #3187 - RalfJung:rustup, r=RalfJung
Rustup
2023-11-25 07:29:08 +00:00
Ralf Jung
34a8680cd5 bless 2023-11-25 08:27:42 +01:00
bors
e2e978f713 Auto merge of #118203 - nnethercote:rustc_mir_dataflow, r=cjgillot
Minor `rustc_mir_dataflow` cleanups

r? `@cjgillot`
2023-11-25 07:10:46 +00:00
Ralf Jung
2df4fc0e8b fmt 2023-11-25 08:03:51 +01:00
Ralf Jung
a4a294aa8d Merge from rustc 2023-11-25 08:02:42 +01:00
Ralf Jung
c17444876b Preparing for merge from rustc 2023-11-25 08:00:32 +01:00
bors
b2e73e9aad Auto merge of #118261 - spastorino:fix-placeholder-replacer, r=compiler-errors
Make PlaceholderReplacer shallow_resolver and recur when infer vars

This makes resolve type and const infer vars resolve.

Given:

```rust
#![feature(inherent_associated_types)]
#![allow(incomplete_features)]

struct Foo<T>(T);

impl<'a> Foo<fn(&'a ())> {
    type Assoc = &'a ();
}

fn bar(_: for<'a> fn(Foo<fn(Foo<fn(&'static ())>::Assoc)>::Assoc)) {}

fn main() {}
```

We should normalize `for<'a> fn(Foo<fn(Foo<fn(&'static ())>::Assoc)>::Assoc)` to `for<'0> fn(&'1 ())` with `'1 == '0` and `'0 == 'static` constraints. We have to resolve `'1` to `'static` in the infcx associated to `PlaceholderReplacer`.

This is part of https://github.com/rust-lang/rust/pull/118118 but unrelated to that PR.

r? `@compiler-errors` `@lcnr`
2023-11-25 05:10:10 +00:00
Weihang Lo
9b013bb3b8
Update cargo
This removes the check to ensure that `rustfix` between

* src/tools/cargo
* src/tools/compiletest

has the same version,
since `rust-lang/rustfix` has migrated to under `rust-lang/cargo`.
2023-11-24 23:13:45 -05:00
Celina G. Val
60817e6863 Fix smir's Ty::Ref pretty printing 2023-11-24 18:43:35 -08:00
bors
34c5ab9aac Auto merge of #118227 - Mark-Simulacrum:worker-local-outline, r=cjgillot
Optimize QueryArena allocation

This shifts the WorkerLocal wrapper to be outside the QueryArena, meaning that instead of having each query allocate distinct arenas per-worker we allocate the full set of arenas per-worker. This is primarily a code size optimization (locally, ~85 kilobytes, [perf is reporting >100 kilobytes](https://perf.rust-lang.org/compare.html?start=1fd418f92ed13db88a21865ba5d909abcf16b6cc&end=884c95a3f1fe8d28630ec3cdb0c8f95b2e539fde&stat=instructions%3Au&tab=artifact-size)), saving a bunch of code in the initialization of the arenas which was previously duplicated lots of times (per arena type).

Additionally this tells LLVM that the thread count can't be zero in this code (I believe this is true?) which shaves some small amount of bytes off as well since we eliminate checks for zero in the vec allocations.
2023-11-25 02:01:39 +00:00
Zalathar
3163bc8700 coverage: Assert that bcb0 starts with bb0 and has no in-edges
This explains why we don't have to worry about bcb0 having multiple in-edges.
2023-11-25 12:29:21 +11:00
Zalathar
3b9d7037c9 coverage: Eliminate BcbBranch
`BcbBranch` represented an out-edge of a coverage graph node, but would
silently refer to a node instead in cases where that node only had one in-edge.

Instead we now refer to a graph edge as a `(from_bcb, to_bcb)` pair, or
sometimes as just one of those nodes when the other node is implied by the
surrounding context. The case of sole in-edges is handled by special code added
directly to `get_or_make_edge_counter_operand`.
2023-11-25 12:29:20 +11:00
Zalathar
276a32994e coverage: Extract CoverageGraph::bcb_has_multiple_in_edges
This was previously a helper method in `MakeBcbCounters`, but putting it in the
graph lets us call it from `BcbBranch`, and gives us a more fine-grained
borrow.
2023-11-25 12:29:20 +11:00
Zalathar
a1e2c10b1f coverage: Simplify building coverage expressions based on sums
In some cases we need to prepare a coverage expression that is the sum of an
arbitrary number of other terms. This patch simplifies the code paths that
build those sums.

This causes some churn in the mappings, because the previous code was building
its sums in a somewhat idiosyncratic order.
2023-11-25 12:29:20 +11:00
Zalathar
31113c5f56 coverage: Use BcbCounter to build coverage expressions
This means that we no longer have to manage the distinction between
`BcbCounter` and `CovTerm` when preparing expressions.
2023-11-25 12:29:20 +11:00
Zalathar
df23279e1e coverage: Push down creation of a visited node's counter
Now that this code path unconditionally calls `make_branch_counters`, we might
as well make that method responsible for creating the node's counter as well,
since it needs the resulting term anyway.
2023-11-25 12:29:20 +11:00
Zalathar
0a17f0697a coverage: Push down and inline bcb_needs_branch_counters
This lets us avoid creating two copies of the node's branch list.
2023-11-25 12:29:20 +11:00
Zalathar
2cadd31c04 coverage: Rename parameter branching_bcb to from_bcb 2023-11-25 12:29:20 +11:00
bors
2a48155aec Auto merge of #118235 - psumbera:bootstrap-main-t, r=Mark-Simulacrum
Fix build on Solaris after #117815.
2023-11-25 00:04:04 +00:00
Michael Goulet
b601b40b40 Separate Nan/Inf floats with _ 2023-11-24 23:35:18 +00:00
Vadim Petrochenkov
ad0770eeee resolve: Avoid clones of MacroData
And move declarative macro compilation to an earlier point in def collector, which is required for #118188.
2023-11-25 02:32:33 +03:00
Celina G. Val
f8c2478b6b Reorder imports and remove re-export 2023-11-24 15:09:26 -08:00
Michael Goulet
e511cc7d49 Unify TraitRefs and PolyTraitRefs 2023-11-24 22:54:12 +00:00
Michael Goulet
0750a5df4d AmbiguityCause should not eagerly format strings 2023-11-24 22:29:59 +00:00
Celina G. Val
d7c7236845 Move the compiler interface defs to its own module
Separate items that are exposed in the `stable_mir` crate to be used
by the compiler from items that we expect to be used by tool developers.
2023-11-24 13:49:31 -08:00
bors
37b2813a7b Auto merge of #118138 - Nilstrieb:one-previous-error, r=WaffleLapkin
Fixes error count display is different when there's only one error left

Supersedes #114759

### What did I do?

I did the small change in `rustc_errors` by hand. Then I did the other changes in `/compiler` by hand, those were just find replace on `*.rs` in the workspace. The changes in run-make are find replace for `run-make` in the workspace.

All other changes are blessed using `x test TEST --bless`. I blessed the tests that were blessed in #114759.

### how to review this nightmare

ping bors with an `r+`. You should check that my logic is sound and maybe quickly scroll through the diff, but fully verifying it seems fairly hard to impossible. I did my best to do this correctly.

Thank you `@adrianEffe` for bringing this up and your initial implementation.

cc `@flip1995,` you said you want to do a subtree sync asap
cc `@RalfJung` maybe you want to do a quick subtree sync afterwards as well for Miri

r? `@WaffleLapkin`
2023-11-24 21:40:54 +00:00
Celina G. Val
5ad84ed2e6 Break down rustc_smir/mod.rs file
This file was getting too big and causing a lot of merge conflicts. All
these changes shouldn't be visible to users since this module is private.
2023-11-24 13:26:57 -08:00
Nilstrieb
c73d392a01 Bless ui-fulldeps
We have to ignore some tests in stage1.
2023-11-24 21:56:22 +01:00