Skip to content
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

Rollup of 7 pull requests #93716

Closed
wants to merge 14 commits into from

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Amanieu and others added 14 commits February 2, 2022 22:21
The following *-unwind ABIs are now supported:
- "C-unwind"
- "cdecl-unwind"
- "stdcall-unwind"
- "fastcall-unwind"
- "vectorcall-unwind"
- "thiscall-unwind"
- "aapcs-unwind"
- "win64-unwind"
- "sysv64-unwind"
- "system-unwind"
Performing UTF-8 decode outside the JSON module makes more sense in almost all cases.
This was only used for the inclusion of 'current' dates into our manpages, but
it is not clear that this is practically necessary. The manpage is essentially
never updated, and so we can likely afford to keep a manual date in these files.
It also seems possible to just omit it, but that may cause other tools trouble,
so avoid doing that for now.
It previously pointed to rust-lang#57563, the conglomerate issue for
`const fn` (presumably under the feature gate `const_fn`).
`const_fn_trait_bounds` weren't mentioned here, so this commit changes
its tracking issue to a new one.
This should cover a mostly cross-platform subset of supported exit codes.
Cleanup c_str.rs

Some code cleanups in `c_str.rs`.
No functional changes.

ref: bytecodealliance/rustix#163
Add From<u8> for ExitCode

This should cover a mostly cross-platform subset of supported exit codes.

We decided to stick with `u8` initially since its the common subset between all platforms that we support (excluding wasm which I think only works with `true` or `false`). Posix is supposed to take i32s, but in practice many unix platforms mask out all but the low 8 bits or in some cases the 8-15th bits. Windows takes a u32 instead of an i32. Bourne-compatible shells also report signals as exitcode 128 + `signal_no`, so there's some ambiguity there when returning exit codes > 127, but it is possible to disambiguate them on the other side so we decided against restricting the possible codes further than to `u8`.

## Related

- Detailed analysis of exit code support on various platforms: https://internals.rust-lang.org/t/mini-pre-rfc-redesigning-process-exitstatus/5426
- rust-lang#48711
- rust-lang#43301
- https://rust-lang.zulipchat.com/#narrow/stream/219381-t-libs/topic/Termination.2FExit.20Status.20Stabilization
…etup, r=Mark-Simulacrum

Fix linking stage1 toolchain in `./x.py setup`

Closes [92319](rust-lang#92319)

Fix linking stage1 toolchain in `./x.py setup`. I guess this can be considered a follow up to rust-lang#89212 by `@Sl1mb0.`

We create 2 directories and 1 file that are required by rustup to [link a custom toolchain from path](https://github.com/rust-lang/rustup/blob/5225e87a5d974ab5f1626bcb2a7b43f76ab883f0/src/toolchain.rs#L479-L497).

cc `@jyn514` and `@Mark-Simulacrum` as they were active in rust-lang#89206
Add more *-unwind ABI variants

The following *-unwind ABIs are now supported:
- "C-unwind"
- "cdecl-unwind"
- "stdcall-unwind"
- "fastcall-unwind"
- "vectorcall-unwind"
- "thiscall-unwind"
- "aapcs-unwind"
- "win64-unwind"
- "sysv64-unwind"
- "system-unwind"

cc `````@rust-lang/wg-ffi-unwind`````
…=bjorn3

Drop json::from_reader

Just a small cleanup -- this was essentially unused; the one use site is better suited to reading from &str regardless.
…s-const_fn_trait_bound, r=oli-obk

Update tracking issue for `const_fn_trait_bound`

It previously pointed to rust-lang#57563, the conglomerate issue for `const fn` (presumably under the feature gate `const_fn`). This tracking issue doesn't mention anything about `const_fn_trait_bound`(the only occurrence of "trait bound" is for the now-removed `?const Trait` syntax), which can be confusing to people who want to find out more about trait bounds on `const fn`s. This pull request changes the tracking issue to one meant specifically for `const_fn_trait_bound`, rust-lang#93706, which can help collect information on this feature's stabilization and point users towards `const_trait_impl` if they're looking for const-in-const-contexts trait bounds.

Fixes rust-lang#93679.

`@rustbot` modify labels +A-const-fn +F-const_trait_impl
…albini

Drop time dependency from bootstrap

This was only used for the inclusion of 'current' dates into our manpages, but
it is not clear that this is practically necessary. The manpage is essentially
never updated, and so we can likely afford to keep a manual date in these files.
It also seems possible to just omit it, but that may cause other tools trouble,
so avoid doing that for now.

This is largely done to reduce bootstrap complexity; the time crate is not particularly
small and in rust-lang#92480 would have started pulling in num-threads, which does runtime
thread count detection. I would prefer to avoid that, so filing this to just drop the nearly
unused dependency entirely.

r? `@pietroalbini`
@rustbot rustbot added T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Feb 6, 2022
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=7

@bors
Copy link
Contributor

bors commented Feb 6, 2022

📌 Commit 1236691 has been approved by matthiaskrgr

@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Feb 6, 2022
@bors
Copy link
Contributor

bors commented Feb 7, 2022

⌛ Testing commit 1236691 with merge da7f5e5b25ba0854b2a75f096352dcadb34113a5...

@bors
Copy link
Contributor

bors commented Feb 7, 2022

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Feb 7, 2022
@rust-log-analyzer
Copy link
Collaborator

The job dist-i686-msvc failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
   Compiling same-file v1.0.6
   Compiling walkdir v2.3.1
   Compiling ignore v0.4.17
   Compiling toml v0.5.7
error[E0432]: unresolved import `winapi::um::timezoneapi`
   --> src\bootstrap\bin/rustc.rs:236:48
    |
236 |     use winapi::um::{processthreadsapi, psapi, timezoneapi};
    |                                                ^^^^^^^^^^^ no `timezoneapi` in `um`
For more information about this error, try `rustc --explain E0432`.
error: could not compile `bootstrap` due to previous error
warning: build failed, waiting for other jobs to finish...
error: build failed
---
D:\a\rust\rust\src\bootstrap\bootstrap.py:5: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
  import distutils.version
Building rustbuild
   Compiling bootstrap v0.0.0 (D:\a\rust\rust\src\bootstrap)
error[E0432]: unresolved import `winapi::um::timezoneapi`
   --> src\bootstrap\bin/rustc.rs:236:48
    |
236 |     use winapi::um::{processthreadsapi, psapi, timezoneapi};
    |                                                ^^^^^^^^^^^ no `timezoneapi` in `um`
For more information about this error, try `rustc --explain E0432`.
error: could not compile `bootstrap` due to previous error
failed to run: D:\a\rust\rust\build\i686-pc-windows-msvc\stage0\bin\cargo.exe build --manifest-path D:\a\rust\rust\src/bootstrap/Cargo.toml --locked
make: *** [Makefile:60: prepare] Error 1
make: *** [Makefile:60: prepare] Error 1
Build completed unsuccessfully in 0:00:00
Command failed. Attempt 3/5:
D:\a\rust\rust\src\bootstrap\bootstrap.py:5: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
  import distutils.version
Building rustbuild
   Compiling bootstrap v0.0.0 (D:\a\rust\rust\src\bootstrap)
error[E0432]: unresolved import `winapi::um::timezoneapi`
   --> src\bootstrap\bin/rustc.rs:236:48
    |
236 |     use winapi::um::{processthreadsapi, psapi, timezoneapi};
    |                                                ^^^^^^^^^^^ no `timezoneapi` in `um`
For more information about this error, try `rustc --explain E0432`.
error: could not compile `bootstrap` due to previous error
failed to run: D:\a\rust\rust\build\i686-pc-windows-msvc\stage0\bin\cargo.exe build --manifest-path D:\a\rust\rust\src/bootstrap/Cargo.toml --locked
Build completed unsuccessfully in 0:00:00
Build completed unsuccessfully in 0:00:00
make: *** [Makefile:60: prepare] Error 1
Command failed. Attempt 4/5:
D:\a\rust\rust\src\bootstrap\bootstrap.py:5: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
  import distutils.version
Building rustbuild
   Compiling bootstrap v0.0.0 (D:\a\rust\rust\src\bootstrap)
error[E0432]: unresolved import `winapi::um::timezoneapi`
   --> src\bootstrap\bin/rustc.rs:236:48
    |
236 |     use winapi::um::{processthreadsapi, psapi, timezoneapi};
    |                                                ^^^^^^^^^^^ no `timezoneapi` in `um`
For more information about this error, try `rustc --explain E0432`.
error: could not compile `bootstrap` due to previous error
failed to run: D:\a\rust\rust\build\i686-pc-windows-msvc\stage0\bin\cargo.exe build --manifest-path D:\a\rust\rust\src/bootstrap/Cargo.toml --locked
Build completed unsuccessfully in 0:00:00
Build completed unsuccessfully in 0:00:00
make: *** [Makefile:60: prepare] Error 1
Command failed. Attempt 5/5:
D:\a\rust\rust\src\bootstrap\bootstrap.py:5: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
  import distutils.version
Building rustbuild
   Compiling bootstrap v0.0.0 (D:\a\rust\rust\src\bootstrap)
error[E0432]: unresolved import `winapi::um::timezoneapi`
   --> src\bootstrap\bin/rustc.rs:236:48
    |
236 |     use winapi::um::{processthreadsapi, psapi, timezoneapi};
    |                                                ^^^^^^^^^^^ no `timezoneapi` in `um`
For more information about this error, try `rustc --explain E0432`.
error: could not compile `bootstrap` due to previous error
failed to run: D:\a\rust\rust\build\i686-pc-windows-msvc\stage0\bin\cargo.exe build --manifest-path D:\a\rust\rust\src/bootstrap/Cargo.toml --locked
Build completed unsuccessfully in 0:00:00

@matthiaskrgr matthiaskrgr deleted the rollup-nwfejfq branch February 13, 2022 00:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rollup A PR which is a rollup S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants