Skip to content

Rustup #2856

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 26 commits into from
Apr 26, 2023
Merged

Rustup #2856

merged 26 commits into from
Apr 26, 2023

Conversation

RalfJung
Copy link
Member

No description provided.

bors and others added 23 commits April 24, 2023 13:51
…rkingjubilee

allow array-style simd in inline asm

Required for [MCP#621](rust-lang/compiler-team#621) to be implemented.

r? `@workingjubilee`
…ssues, 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
Move around `{Idx, IndexVec, IndexSlice}` adjacent code

r? ``@scottmcm``
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.
Ignore src/bootstrap formatting commit in .git-blame-ignore-revs

rust-lang/rust@b39a1d6
…mulacrum

pointer-auth-link-with-c: Fix cross compilation.
drop few unused crates, gate libc under unix for rustc_codegen_ssa

Small cleanup.
Some cleanups to DataflowConstProp

Mostly moving code around and short-circuiting useless cases.
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
```
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.)
rustdoc: Add regression test for #60522

Fixes rust-lang/rust#60522.

r? `@notriddle`
Rollup of 10 pull requests

Successful merges:

 - #110480 (Add `known-bug` tests for 11 unsound issues)
 - #110539 (Move around `{Idx, IndexVec, IndexSlice}` adjacent code)
 - #110590 (Add some tests around (lack of) object safety of associated types and consts)
 - #110602 (Ignore src/bootstrap formatting commit in .git-blame-ignore-revs)
 - #110667 (pointer-auth-link-with-c: Fix cross compilation.)
 - #110681 (drop few unused crates, gate libc under unix for rustc_codegen_ssa)
 - #110685 (Some cleanups to DataflowConstProp)
 - #110744 (bootstrap: update paths cargo-credential crate)
 - #110750 (Add size asserts for MIR `SourceScopeData` & `VarDebugInfo`)
 - #110760 (rustdoc: Add regression test for #60522)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
Update Clippy

r? `@Manishearth`

A few days late, I was on a business trip, sorry.
Add LazyCell::into_inner

This enables uses cases that need to extract the evaluated value and do something owned with it.
Allow older LLVM versions to have missing components

This check was introduced by #77280 to ensure that all tests that are filtered by LLVM component are actually tested in CI. However this causes issues for new targets (e.g. #101069) where support is only available on the latest LLVM version.

This PR restricts the tests to only CI jobs that use the latest LLVM version.
…mulacrum

Add shortcut for Grisu3 algorithm.

While Grisu3 is way more faster for most numbers compare to Dragon4, the fall back to Dragon4 procedure for certain numbers could cause some performance regressions compare to use Dragon4 directly. Mitigating the regression caused by falling back is important for a largely used core library.

In Grisu3 algorithm implementation, there's a shortcut to jump out earlier when the fractional or integrals cannot meet the requirement of requested digits. This could significantly improve the performance of converting floating number to string as it falls back even without starting trying the algorithm.

The original idea is from the [.NET implementation](https://github.com/dotnet/runtime/blob/main/src/libraries/System.Private.CoreLib/src/System/Number.Grisu3.cs#L602-L615) and the code was originally added in [this PR](dotnet/coreclr#14646 (comment)). This shortcut has been shipped long time ago and has been proved working.

Fix #110129
Add support for allocators in `LinkedList`

Allows `LinkedList` to use a custom allocator
…avidtwco

Migrate `rustc_hir_analysis` to session diagnostic [Part 4]

Part 4: Finishing `check/mod.rs` file

r? `@compiler-errors`
…ulacrum

Update linux-raw-sys to 0.3.4

To support LoongArch.

Changes:
```
Updating errno v0.2.8 -> v0.3.1
Updating is-terminal v0.4.4 -> v0.4.7
Updating linux-raw-sys v0.1.4 -> v0.3.4
Updating rustix v0.36.5 -> v0.37.7
Updating terminal_size v0.2.3 -> v0.2.6
  Adding windows-sys v0.48.0
```

The changes are generated by:

```bash
cargo update -p is-terminal -p terminal_size
```
Rewrite MemDecoder around pointers not a slice

This is basically rust-lang/rust#109910 but I'm being a lot more aggressive. The pointer-based structure means that it makes a lot more sense to absorb more complexity into `MemDecoder`, most of the diff is just complexity moving from one place to another.

The primary argument for this structure is that we only incur a single bounds check when doing multi-byte reads from a `MemDecoder`. With the slice-based implementation we need to do those with `data[position..position + len]` , which needs to account for `position + len` wrapping. It would be possible to dodge the first bounds check if we stored a slice that starts at `position`, but that would require updating the pointer and length on every read.

This PR also embeds the failure path in a separate function, which means that this PR should subsume all the perf wins observed in rust-lang/rust#109867.
@RalfJung
Copy link
Member Author

@bors r+

@bors
Copy link
Contributor

bors commented Apr 26, 2023

📌 Commit 7a3ca1e has been approved by RalfJung

It is now in the queue for this repository.

@bors
Copy link
Contributor

bors commented Apr 26, 2023

⌛ Testing commit 7a3ca1e with merge cd375f5...

@RalfJung
Copy link
Member Author

@bors retry r+

@bors
Copy link
Contributor

bors commented Apr 26, 2023

📌 Commit 331154b has been approved by RalfJung

It is now in the queue for this repository.

@bors
Copy link
Contributor

bors commented Apr 26, 2023

⌛ Testing commit 331154b with merge 8f1443a...

@bors
Copy link
Contributor

bors commented Apr 26, 2023

☀️ Test successful - checks-actions
Approved by: RalfJung
Pushing 8f1443a to master...

1 similar comment
@bors
Copy link
Contributor

bors commented Apr 26, 2023

☀️ Test successful - checks-actions
Approved by: RalfJung
Pushing 8f1443a to master...

@bors bors merged commit 8f1443a into rust-lang:master Apr 26, 2023
@RalfJung RalfJung deleted the rustup branch April 26, 2023 13:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants