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 #91056

Closed
wants to merge 27 commits into from

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

WaffleLapkin and others added 27 commits October 10, 2021 14:03
- Make clear that the `Pointer` trait is related to formatting
- Make clear that `&T` (shared reference) implements `Send` (if `T: Send + Sync`)
This is a revert of e950d22 which is no
longer needed since Clang now does normalization and handles all triple
spellings.
Be more thorough in using `ItemObligation` and `BindingObligation` when
evaluating obligations so that we can point at trait bounds that
introduced unfulfilled obligations. We no longer incorrectly point at
unrelated trait bounds (`substs-ppaux.verbose.stderr`).

In particular, we now point at trait bounds on method calls.

We no longer point at "obvious" obligation sources (we no longer have a
note pointing at `Trait` saying "required by a bound in `Trait`", like
in `associated-types-no-suitable-supertrait*`).

Address part of rust-lang#89418.
`predicates_of` no longer changes when changing a trait's front matter
because we no longer include the trait's span in the identity trait
obligation.
Group obligations by `impl` block that introduced them.
The basic problem with this is that rustdoc, when hunting for `fn main`, will stop
parsing after it reaches a fatal error. This unexpected semicolon was a fatal error,
so in `src/test/rustdoc-ui/failed-doctest-extra-semicolon-on-item.rs`, it would wrap
the doctest in an implied main function, turning it into this:

    fn main() {
        struct S {};
        fn main() {
            assert_eq!(0, 1);
        }
    }

This, as it turns out, is totally valid, and it executes no assertions, so *it passes,*
even though the user wanted it to execute the assertion.

The Rust parser already has the ability to recover from these unexpected semicolons,
but to do so, it needs to use the `parse_mod` function, so this commit changes it to do that.
Makes docs for references a little less confusing

- Make clear that the `Pointer` trait is related to formatting
- Make clear that the `Pointer` trait is implemented for references (previously it was confusing to first see that it's implemented and then see it in "expect")
- Make clear that `&T` (shared reference) implements `Send` (if `T: Send + Sync`)
…=nagisa

Point at source of trait bound obligations in more places

Be more thorough in using `ItemObligation` and `BindingObligation` when
evaluating obligations so that we can point at trait bounds that
introduced unfulfilled obligations. We no longer incorrectly point at
unrelated trait bounds (`substs-ppaux.verbose.stderr`).

In particular, we now point at trait bounds on method calls.

We no longer point at "obvious" obligation sources (we no longer have a
note pointing at `Trait` saying "required by a bound in `Trait`", like
in `associated-types-no-suitable-supertrait*`).

We no longer point at associated items (`ImplObligation`), as they didn't
add any user actionable information, they just added noise.

Address part of rust-lang#89418.
…ebank

Switch to normalized triples for Fuchsia

This is a revert of e950d22 which is no
longer needed since Clang now does normalization and handles all triple
spellings.
fix CTFE/Miri simd_insert/extract on array-style repr(simd) types

The changed test would previously fail since `place_index` would just return the only field of `f32x4`, i.e., the array -- rather than *indexing into* the array which is what we have to do.

The new helper methods will also be needed for rust-lang/miri#1912.

r? ````@oli-obk````
…-semicolon, r=jyn514

rustdoc doctest: detect `fn main` after an unexpected semicolon

Fixes rust-lang#91014

The basic problem with this is that rustdoc, when hunting for `fn main`, will stop parsing after it reaches a fatal error. This unexpected semicolon was a fatal error, so in `src/test/rustdoc-ui/failed-doctest-extra-semicolon-on-item.rs`, it would wrap the doctest in an implied main function, turning it into this:

    fn main() {
        struct S {};
        fn main() {
            assert_eq!(0, 1);
        }
    }

This, as it turns out, is totally valid, and it executes no assertions, so *it passes,* even though the user wanted it to execute the assertion.

The Rust parser already has the ability to recover from these unexpected semicolons, but to do so, it needs to use the `parse_mod` function, so this PR changes it to do that.
…ty-line, r=camelid

Put back removed empty line

Fixes comment from rust-lang#90438 (comment).

r? ``@camelid``
Turn all 0x1b_u8 into '\x1b' or b'\x1b'

Supersedes rust-lang#91040
@rustbot rustbot added the rollup A PR which is a rollup label Nov 19, 2021
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=7

@bors
Copy link
Contributor

bors commented Nov 19, 2021

📌 Commit 68a47fe 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 Nov 19, 2021
@bors
Copy link
Contributor

bors commented Nov 19, 2021

⌛ Testing commit 68a47fe with merge 82ae19a8def3087d4f5f525ba24e353a1a8a1fe5...

@rust-log-analyzer
Copy link
Collaborator

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

Click to see the possible cause of the failure (guessed by this bot)
 ---> c8dcce624f64
Step 7/47 : RUN add-apt-repository -y 'deb https://apt.dilos.org/dilos dilos2 main'
 ---> Using cache
 ---> 7c6e019d29ee
Step 8/47 : ENV     AR_x86_64_unknown_fuchsia=x86_64-unknown-fuchsia-ar     CC_x86_64_unknown_fuchsia=x86_64-unknown-fuchsia-clang     CXX_x86_64_unknown_fuchsia=x86_64-unknown-fuchsia-clang++     AR_aarch64_unknown_fuchsia=aarch64-unknown-fuchsia-ar     CC_aarch64_unknown_fuchsia=aarch64-unknown-fuchsia-clang     CXX_aarch64_unknown_fuchsia=aarch64-unknown-fuchsia-clang++     AR_sparcv9_sun_solaris=sparcv9-sun-solaris2.10-ar     CC_sparcv9_sun_solaris=sparcv9-sun-solaris2.10-gcc     CXX_sparcv9_sun_solaris=sparcv9-sun-solaris2.10-g++     AR_x86_64_pc_solaris=x86_64-pc-solaris2.10-ar     CC_x86_64_pc_solaris=x86_64-pc-solaris2.10-gcc     CXX_x86_64_pc_solaris=x86_64-pc-solaris2.10-g++     AR_x86_64_sun_solaris=x86_64-sun-solaris2.10-ar     CC_x86_64_sun_solaris=x86_64-sun-solaris2.10-gcc     CXX_x86_64_sun_solaris=x86_64-sun-solaris2.10-g++     CC_armv7_unknown_linux_gnueabi=arm-linux-gnueabi-gcc-8     CXX_armv7_unknown_linux_gnueabi=arm-linux-gnueabi-g++-8     AR_x86_64_fortanix_unknown_sgx=ar     CC_x86_64_fortanix_unknown_sgx=clang-11     CFLAGS_x86_64_fortanix_unknown_sgx="-D__ELF__ -isystem/usr/include/x86_64-linux-gnu -mlvi-hardening -mllvm -x86-experimental-lvi-inline-asm-hardening"     CXX_x86_64_fortanix_unknown_sgx=clang++-11     CXXFLAGS_x86_64_fortanix_unknown_sgx="-D__ELF__ -isystem/usr/include/x86_64-linux-gnu -mlvi-hardening -mllvm -x86-experimental-lvi-inline-asm-hardening"     AR_i686_unknown_freebsd=i686-unknown-freebsd11-ar     CC_i686_unknown_freebsd=i686-unknown-freebsd11-clang     CXX_i686_unknown_freebsd=i686-unknown-freebsd11-clang++     CC=gcc-8     CXX=g++-8
 ---> b1759dd63cc1
Step 9/47 : WORKDIR /build
 ---> Using cache
 ---> e515b8e69372
---
 ---> 78b52ee76ab7
Step 28/47 : ENV CARGO_TARGET_X86_64_UNKNOWN_FUCHSIA_AR /usr/local/bin/llvm-ar
 ---> Using cache
 ---> 8606348cc597
Step 29/47 : ENV CARGO_TARGET_X86_64_UNKNOWN_FUCHSIA_RUSTFLAGS -C link-arg=--sysroot=/usr/local/x86_64-unknown-fuchsia -C link-arg=-L/usr/local/x86_64-unknown-fuchsia/lib -C link-arg=-L/usr/local/lib/x86_64-unknown-fuchsia/lib
 ---> 739861f06989
Step 30/47 : ENV CARGO_TARGET_AARCH64_UNKNOWN_FUCHSIA_AR /usr/local/bin/llvm-ar
 ---> Using cache
 ---> 3e241d7ae409
 ---> 3e241d7ae409
Step 31/47 : ENV CARGO_TARGET_AARCH64_UNKNOWN_FUCHSIA_RUSTFLAGS -C link-arg=--sysroot=/usr/local/aarch64-unknown-fuchsia -C link-arg=-L/usr/local/aarch64-unknown-fuchsia/lib -C link-arg=-L/usr/local/lib/aarch64-unknown-fuchsia/lib
 ---> 0d1567b5e91c
Step 32/47 : ENV TARGETS=x86_64-unknown-fuchsia
 ---> Using cache
 ---> 89969d53edda
---
[RUSTC-TIMING] addr2line test:false 0.503
[RUSTC-TIMING] core test:false 28.414
[RUSTC-TIMING] gimli test:false 5.433
[RUSTC-TIMING] object test:false 5.604
error: linking with `rust-lld` failed: exit status: 1
  |
  = note: "rust-lld" "-flavor" "gnu" "--version-script=/tmp/rustcVJCpuG/list" "--build-id" "--hash-style=gnu" "-z" "max-page-size=4096" "-z" "now" "-z" "rodynamic" "-z" "separate-loadable-segments" "--pack-dyn-relocs=relr" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-fuchsia/release/deps/std-885c4f3479434cef.std.5bc82035-cgu.0.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-fuchsia/release/deps/std-885c4f3479434cef.7omemo2aus3kgps.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-fuchsia/release/deps/std-885c4f3479434cef.2lz4movwa8gaxi5c.rcgu.o" "--as-needed" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-fuchsia/release/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/release/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-fuchsia/release/build/compiler_builtins-6a60ae20bd93e083/out" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-fuchsia/lib" "-lzircon" "-lfdio" "-Bstatic" "--whole-archive" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-fuchsia/release/deps/libpanic_unwind-2161bcc1054373c7.rlib" "--no-whole-archive" "--whole-archive" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-fuchsia/release/deps/libminiz_oxide-f093a76a7b47e609.rlib" "--no-whole-archive" "--whole-archive" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-fuchsia/release/deps/libadler-23167bcf207c6d7d.rlib" "--no-whole-archive" "--whole-archive" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-fuchsia/release/deps/libobject-b94a27d0a39135bf.rlib" "--no-whole-archive" "--whole-archive" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-fuchsia/release/deps/libmemchr-621cd1f435dba2ee.rlib" "--no-whole-archive" "--whole-archive" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-fuchsia/release/deps/libaddr2line-941e43b0b939d99d.rlib" "--no-whole-archive" "--whole-archive" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-fuchsia/release/deps/libgimli-99d93059021e39a9.rlib" "--no-whole-archive" "--whole-archive" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-fuchsia/release/deps/libstd_detect-9c6974a529ba013d.rlib" "--no-whole-archive" "--whole-archive" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-fuchsia/release/deps/librustc_demangle-034c1b743df10eb7.rlib" "--no-whole-archive" "--whole-archive" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-fuchsia/release/deps/libhashbrown-d35431155d368d7a.rlib" "--no-whole-archive" "--whole-archive" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-fuchsia/release/deps/librustc_std_workspace_alloc-0f9bdba3664dd4dc.rlib" "--no-whole-archive" "--whole-archive" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-fuchsia/release/deps/libunwind-2ec961f47a1e3308.rlib" "--no-whole-archive" "--whole-archive" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-fuchsia/release/deps/libcfg_if-c37f6fbf3c99d01d.rlib" "--no-whole-archive" "--whole-archive" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-fuchsia/release/deps/liblibc-9d23694209a8a939.rlib" "--no-whole-archive" "--whole-archive" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-fuchsia/release/deps/liballoc-df761ad9d176da1e.rlib" "--no-whole-archive" "--whole-archive" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-fuchsia/release/deps/librustc_std_workspace_core-fb32395deb7b4ac1.rlib" "--no-whole-archive" "--whole-archive" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-fuchsia/release/deps/libcore-27342868d30aef11.rlib" "--no-whole-archive" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-fuchsia/release/deps/libcompiler_builtins-87575e986b495b8c.rlib" "-Bdynamic" "-lunwind" "-lc" "-lfdio" "--eh-frame-hdr" "-znoexecstack" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-fuchsia/lib" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/x86_64-unknown-fuchsia/release/deps/libstd-885c4f3479434cef.so" "-shared" "-O1" "--sysroot=/usr/local/x86_64-unknown-fuchsia" "-L/usr/local/x86_64-unknown-fuchsia/lib" "-L/usr/local/lib/x86_64-unknown-fuchsia/lib"
  = note: rust-lld: error: unable to find library -lunwind

[RUSTC-TIMING] std test:false 26.808
error: could not compile `std` due to previous error
Build completed unsuccessfully in 0:13:57

@bors
Copy link
Contributor

bors commented Nov 19, 2021

💔 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 Nov 19, 2021
@matthiaskrgr matthiaskrgr deleted the rollup-lk2g6na branch November 20, 2021 15:04
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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.