| Age | Commit message (Collapse) | Author | Lines |
|
Add size asserts for MIR `SourceScopeData` & `VarDebugInfo`
There's vectors of both of these in `mir::Body`, so might as well track them.
(I was pondering adding something to one or the other, so wanted this to see the memory impact.)
|
|
bootstrap: update paths cargo-credential crate
This should be done in #110653 but forgot.
Fixes #110742
## How to verify this patch
Run `./x.py build cargo`. Previously it would fail with
```console
error: manifest path `/projects/rust/src/tools/cargo/crates/credential/cargo-credential-1password/Cargo.toml` does not exist
```
|
|
Some cleanups to DataflowConstProp
Mostly moving code around and short-circuiting useless cases.
|
|
drop few unused crates, gate libc under unix for rustc_codegen_ssa
Small cleanup.
|
|
pointer-auth-link-with-c: Fix cross compilation.
|
|
Ignore src/bootstrap formatting commit in .git-blame-ignore-revs
https://github.com/rust-lang/rust/commit/b39a1d6f1a30ba29f25d7141038b9a5bf0126e36
|
|
Add some tests around (lack of) object safety of associated types and consts
See https://rust-lang.zulipchat.com/#narrow/stream/144729-t-types/topic/.60where.20Self.3ASized.60.20on.20assoc.20types/near/351260928 for some discussion around why this isn't allowed.
We didn't have any tests for these, so I decided to add them now, even if we don't end up doing anything about it.
|
|
Move around `{Idx, IndexVec, IndexSlice}` adjacent code
r? ``@scottmcm``
|
|
r=jackh726
Add `known-bug` tests for 11 unsound issues
r? ``@jackh726``
Should tests for other issues be in separate PRs? Thanks.
Edit: Partially addresses #105107. This PR adds `known-bug` tests for 11 unsound issues:
- #25860
- #49206
- #57893
- #84366
- #84533
- #84591
- #85099
- #98117
- #100041
- #100051
- #104005
|
|
|
|
|
|
|
|
|
|
|
|
r=workingjubilee
allow array-style simd in inline asm
Required for [MCP#621](https://github.com/rust-lang/compiler-team/issues/621) to be implemented.
r? `@workingjubilee`
|
|
Rollup of 6 pull requests
Successful merges:
- #110255 (Suggest using integration tests for test crate using own proc-macro)
- #110514 (Remove `find_map_relevant_impl`)
- #110566 (Don't create projection ty for const projection)
- #110637 (Group some sections of our logs in github actions)
- #110706 (Add `intrinsics::transmute_unchecked`)
- #110714 (Normalize types and consts in MIR opts.)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Normalize types and consts in MIR opts.
Some passes were using a non-RevealAll param_env, which is needlessly restrictive in mir-opts.
As a drive-by, we normalize all constants, since just normalizing their types is not enough.
|
|
Add `intrinsics::transmute_unchecked`
This takes a whole 3 lines in `compiler/` since it lowers to `CastKind::Transmute` in MIR *exactly* the same as the existing `intrinsics::transmute` does, it just doesn't have the fancy checking in `hir_typeck`.
Added to enable experimenting with the request in <https://github.com/rust-lang/rust/pull/106281#issuecomment-1496648190> and because the portable-simd folks might be interested for dependently-sized array-vector conversions.
It also simplifies a couple places in `core`.
See also https://github.com/rust-lang/rust/pull/108442#issuecomment-1474777273, where `CastKind::Transmute` was added having exactly these semantics before the lang meeting (which I wasn't in) independently expressed interest.
|
|
Group some sections of our logs in github actions
This makes logs a little bit more readable as you can now collapse all the parts that don't interest you (and they get collapsed automatically)
Obviously there's a lot more sites where we can/need to do this, too, but this is already helpful imo
r? ```@jyn514```
|
|
r=cjgillot,BoxyUwU
Don't create projection ty for const projection
Fixes #110549
|
|
r=b-naber
Remove `find_map_relevant_impl`
Fixes #108895
|
|
Suggest using integration tests for test crate using own proc-macro
cc #110247
|
|
There's vectors of both of these in `mir::Body`, so might as well track them.
|
|
Impl `Copy` for most HIR types
This simplifies the invocation of the `arena_types` macro and probably
makes working with HIR nicer in general.
Based on #109588
|
|
Rollup of 6 pull requests
Successful merges:
- #110661 (rustdoc: clean up settings.css and settings.js)
- #110663 (Add note about change in bootstrap defaults)
- #110664 (stop `x fmt` formatting untracked directories)
- #110668 (Fix printing native CPU on cross-compiled compiler.)
- #110689 (Fix grammar in core::hint::unreachable_unchecked() docs)
- #110700 (Don't infer fn return type to return itself)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
This should be done in #110653 but forgot.
|
|
|
|
Don't infer fn return type to return itself
Fixes #110687
|
|
Fix grammar in core::hint::unreachable_unchecked() docs
Fixes a minor grammar error in the docs for core::hint::unreachable_unchecked()
|
|
Fix printing native CPU on cross-compiled compiler.
If `rustc` is cross-compiled from a different host, then the "native" entry in `rustc --print=target-cpus` would not appear. There is a check in the printing code that will avoid printing the "native" entry if the user has passed `--target`. However, that check was comparing the `--target` value with the `LLVM_TARGET_TRIPLE` which is the triple of the host that `rustc` was built on (the "build" target in Rust lingo), not the target it was being built for (the "host" in Rust lingo). This fixes it to use the target that LLVM was built for (which I'm pretty sure this is the correct function to determine that).
This fixes the cpu listing for aarch64-apple-darwin which is built on CI using the x86_64-apple-darwin host.
|
|
stop `x fmt` formatting untracked directories
I don't think there's anything else to do? I've confirmed that you get a "skip untracked path foo/ during rustfmt invocations" for the alternative build directory.
r? `@jyn514`
|
|
Add note about change in bootstrap defaults
Not a huge fan of the proposed wording, open to changes in that.
Per https://github.com/rust-lang/rust/pull/106886#issuecomment-1518325832.
cc `@jonhoo`
r? `@cuviper` perhaps?
|
|
r=GuillaumeGomez
rustdoc: clean up settings.css and settings.js
`handleKey` was added in 9dc5dfb97504c538bc72f367a77bb9f714c30097 and 704050da2334c465784954d81c8990c4bc7a92c5 because the browser-native checkbox was `display: none`, breaking native keyboard accessibility.
The native checkbox is now merely `appearance: none`, which does not turn off [behavior semantics], so JavaScript to reimplement it isn't needed any more.
[behavior semantics]: https://w3c.github.io/csswg-drafts/css-ui/#appearance-semantics
The other, one line change to settings.css is follow-up to #110205
|
|
r=jackh726
make sysroot finding compatible with multiarch systems
Tested on Debian 11 multiarch, worked just fine.
resolves #109994
|
|
|
|
Remove the size of locals heuristic in MIR inlining
This heuristic doesn't necessarily correlate to complexity of the MIR Body. In particular, a lot of straight-line code in MIR tends to never reuse a local, even though any optimizer would effectively reuse the storage or just put everything in registers. So it doesn't even necessarily make sense that this would be a stack size heuristic.
So... what happens if we just delete the heuristic? The benchmark suite improves significantly. Less heuristics better?
r? `@cjgillot`
|
|
Run various queries from other queries instead of explicitly in phases
These are just legacy leftovers from when rustc didn't have a query system. While there are more cleanups of this sort that can be done here, I want to land them in smaller steps.
This phased order of query invocations was already a lie, as any query that looks at types (e.g. the wf checks run before) can invoke e.g. const eval which invokes borrowck, which invokes typeck, ...
|
|
Turn on ConstDebugInfo pass.
Split from https://github.com/rust-lang/rust/pull/103657
Moving those constant into debuginfo allows to shrink the number of locals and the actual size of the MIR body.
|
|
|
|
|
|
Refactor `SyntaxContext::ctxt` logic.
I'm still trying to make a test from the issue.
cc `@deepink-mas` does this solve the issue?
Fixes https://github.com/rust-lang/rust/issues/110230
|
|
|
|
Limit read size in `File::read_to_end` loop
Fixes #110650.
Windows file reads have perf overhead that's proportional to the buffer size. When we have a reasonable expectation that we know the file size, we can set a reasonable upper bound for the size of the buffer in one read call.
|
|
Update chrono/spdx-rs/time
This gets rid of https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26235
|
|
This takes a whole 3 lines in `compiler/` since it lowers to `CastKind::Transmute` in MIR *exactly* the same as the existing `intrinsics::transmute` does, it just doesn't have the fancy checking in `hir_typeck`.
Added to enable experimenting with the request in <https://github.com/rust-lang/rust/pull/106281#issuecomment-1496648190> and because the portable-simd folks might be interested for dependently-sized array-vector conversions.
It also simplifies a couple places in `core`.
|
|
|
|
|
|
|
|
Remove unused `synstructure` dep
`synstructure` is no longer used now that this crate was split out from rustc_macros
`@rustbot` label +C-cleanup
|
|
|