| Age | Commit message (Collapse) | Author | Lines |
|
|
|
Move `needless_pass_by_ref_mut`: `suspicious` -> `nursery`
[Related to [this Zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/257328-clippy/topic/needless_pass_by_ref_mut.20isn't.20ready.20for.20stable)]
`needless_pass_by_ref_mut` has been released with some important bugs (notably having a lot of reported false positives and an ICE). So it may not be really ready for being in stable until these problems are solved. This PR changes the lint's category from `suspicious` to `nursery`, just that.
changelog: none
|
|
(cherry picked from commit 9df857f658ad3acfdf45268952911d51ad58123a)
|
|
Fix: Write access check of `prefix` and `sysconfdir`
when DESTDIR is present.
Improvement: Instead of repeatedly reading `DESTDIR` within
each `fn prepare_dir` usage, read it once and pass it to
the `fn prepare_dir`.
Signed-off-by: onur-ozkan <work@onurozkan.dev>
(cherry picked from commit 4b14048d6037a2da5601952a2dd36fe67d04218b)
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
(cherry picked from commit 2c8759ef8a91b70b567a7459694635ed70c19248)
|
|
[beta] backports and stage0 bump
- Bump stage0 to released stable compiler
- Hide host effect params from docs #116670
- Fix a performance regression in obligation deduplication. #116826
- Make `#[repr(Rust)]` and `#[repr(C)]` incompatible with one another #116829
- Update to LLVM 17.0.3 #116840
- Disable effects in libcore again #116856
- revert rust-lang/rust#114586 #116879
r? cuviper
|
|
(cherry picked from commit ab22470eb3592f41634e411ffe98343f70053e57)
|
|
const trait things in libcore
(cherry picked from commit 16f8396f6df6902eeef580396785ab8888c3718b)
|
|
(cherry picked from commit 6724f9926c9e8c2d37e3e68e44238897bd89fddf)
|
|
(cherry picked from commit c4e61faf2e078dc30b62488326404137600e5e11)
|
|
|
|
|
|
|
|
This should fix running tests on the emscripten target. In the future
it's expected we'll want to entirely remove this builder since it's a
tier 2 target, but for this initially beta-targeted patch keeping the
changes minimal is preferred.
|
|
|
|
Pass `-jN` from Make to `BOOTSTRAP_ARGS`
Enables the same functionality as `x -jN` in Make by passing the `-jN` arg from Make to the `BOOTSTRAP_ARGS` if it is specified.
|
|
add sanity checks for user write access on `x install`
Resolves #113580
|
|
Assorted improvements for `rustc_middle::mir::traversal`
r? `@cjgillot`
I'm not _entirely_ sure about all changes, although I do like all of them. If you'd like I can drop some commits. Best reviewed on a commit-by-commit basis, I think, since they are fairly isolated.
|
|
r=GuillaumeGomez
rustdoc: speed up processing of cross-crate fns to fix a perf regression
* The first commit doesn't affect perf but get's rid of a `.clone()` and a bunch of lines of code. I can drop it if you'd like me to
* The second commit, *“reduce the amount of `asyncness` query executions”*, addresses the perf regression introduced in #116084
r? `@ghost`
|
|
Update cargo
4 commits in e6aabe8b3fcf639be3a5bf68e77853bd7b3fa27d..59596f0f31a94fde48b5aa7e945cd0b7ceca9620
2023-09-26 16:31:53 +0000 to 2023-09-29 19:29:17 +0000
- refactor: Switch from termcolor to anstream (rust-lang/cargo#12751)
- Add missing `strip` entries in `dev` and `release` profiles. (rust-lang/cargo#12748)
- Add better suggestion for the unsupported silent flag (rust-lang/cargo#12723)
- docs(ref): Establish publish best practices (rust-lang/cargo#12745)
r? ghost
|
|
Prototype using const generic for simd_shuffle IDX array
cc https://github.com/rust-lang/rust/issues/85229
r? `@workingjubilee` on the design
TLDR: there is now a `fn simd_shuffle_generic<T, U, const IDX: &'static [u32]>(x: T, y: T) -> U;` intrinsic that allows replacing
```rust
simd_shuffle(a, b, const { stuff })
```
with
```rust
simd_shuffle_generic::<_, _, {&stuff}>(a, b)
```
which makes the compiler implementations much simpler, if we manage to at some point eliminate `simd_shuffle`.
There are some issues with this today though (can't do math without bubbling it up in the generic arguments). With this change, we can start porting the simple cases and get better data on the others.
|
|
|
|
Promote loongarch64-unknown-none* to Tier 2
MCP: https://github.com/rust-lang/compiler-team/issues/664
|
|
|
|
|
|
More fixes for running the test suite on a bare metal target
This PR adds more fixes needed to run the test suite on bare metal targets (in this case, without unwinding and with static relocations). There is no CI job exercising tests without unwinds, but I can confirm this worked in Ferrocene's CI.
|
|
ci: upgrade to crosstool-ng 1.26.0
This PR upgrades our builders from crosstool-ng 1.25.0 to 1.26.0. Except for LoongArch64 and RISC-V 64, which have minor version upgrades, other architectures have not changed.
|
|
|
|
Clippy backport: Move needless_raw_string_hashes to pedantic
Really small backport this time. Context: https://github.com/rust-lang/rust-clippy/pull/11415#issuecomment-1739880932
I'd rather get this in 1.74 than waiting another release cycle.
r? `@Manishearth`
cc `@Mark-Simulacrum` This should be merged before beta is branched tomorrow.
|
|
Miri subtree update
r? `@ghost`
|
|
Remove `rustc_lint_defs::lint_array`
|
|
ref(bootstrap.py): add `eprint` function
Implemented a 3-line function called `eprint` which is just like `print` but for `stderr`. So each `print(..., file=sys.stderr)` becomes `eprint(...)`.
<br/>
Testing `eprint` function:
```sh
$ cat eprint.py
```
```python
import sys
def eprint(*args, **kwargs):
kwargs['file'] = sys.stderr
print(*args, **kwargs)
eval('eprint({})'.format(sys.argv[1]))
```
```sh
$ python3 eprint.py '"hello"'
hello
$
```
```sh
$ python3 eprint.py '"hello"' 2>/dev/null
$
```
```sh
$ python3 eprint.py '"hello", "world", flush=True, file=sys.stdout'
hello world
$
```
```sh
$ python3 eprint.py '"hello", "world", flush=True, file=sys.stdout' 2>/dev/null
$
```
|
|
|
|
|
|
|
|
Update LLVM submodule
Update LLVM submodule to pull in additional 17.x backports.
Fixes https://github.com/rust-lang/rust/issues/115970.
Fixes miscompile from https://github.com/rust-lang/rust/pull/115554.
Fixes miscompile from https://github.com/rust-lang/rust/pull/102099.
Fixes inlining regressions mentioned at https://github.com/rust-lang/llvm-project/pull/153.
|
|
Update windows ffi bindings
Bump `windows-bindgen` to version 0.51.1. This brings with it some changes to the generated FFI bindings, but little that affects the code.
One change that does have more of an impact is `SOCKET` being `usize` instead of either `u64` or `u32` (as is used in std's public `SOCKET` type). However, it's now easy enough to abstract over that difference.
Finally I added a few new bindings that are likely to be used in pending PRs, mostly to make sure they're ok with the new metadata.
r? libs
|
|
|
|
Document -Zlink-native-libraries
Originally added in #70095.
|
|
more clippy complextity fixes
redundant_guards, useless_format, clone_on_copy
|
|
|
|
|
|
rustdoc: while -> if
we will always return once we step inside the while-loop thus `if` is sufficient here
|
|
|
|
Originally added in #70095.
|
|
Fix whitespace in rustdoc type_layout.html
`Size: <size>` was missing a space after the colon:

|
|
|
|
Implement a global value numbering MIR optimization
The aim of this pass is to avoid repeated computations by reusing past assignments. It is based on an analysis of SSA locals, in order to perform a restricted form of common subexpression elimination.
By opportunity, this pass allows for some simplifications by combining assignments. For instance, this pass could be able to see through projections of aggregates to directly reuse the aggregate field (not in this PR).
We handle references by assigning a different "provenance" index to each `Ref`/`AddressOf` rvalue. This ensure that we do not spuriously merge borrows that should not be merged. Meanwhile, we consider all the derefs of an immutable reference to a freeze type to give the same value:
```rust
_a = *_b // _b is &Freeze
_c = *_b // replaced by _c = _a
```
|
|
we will always return once we step inside the while-loop thus `if` is sufficient here
|
|
Amend style guide section for formatting where clauses in type aliases
This PR has two parts:
1. Amend wording about breaking before or after the `=`, which is a style guide bugfix to align it with current rustfmt behavior.
2. Explain how to format trailing (#89122) where clauses, which are preferred in both GATs (#90076) and type aliases (#114662).
r? `@joshtriplett`
|