Skip to content

Conversation

@matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

romanows and others added 23 commits December 31, 2023 15:09
Makes the trait implementation documentation for arrays and slices appear more consistent.
…le, r=Mark-Simulacrum Clarify ambiguity in select_nth_unstable docs Original docs for `select_nth_unstable` family of functions were ambiguous as to whether "the element at `index`" was the element at `index` before the function reordered the elements or after the function reordered the elements. The most helpful change in this PR is to change the given examples to make this absolutely clear. Before, "the element at `index`" was the same value before and after the reordering, so it didn't help disambiguate the meaning. I've changed the example for `select_nth_unstable` and `select_nth_unstable_by` so that "the element at `index`" is different before and after the reordering, which clears up the ambiguity. The function `select_nth_unstable_by_key` already had an example that was unambiguous. In an attempt to clear up the ambiguity from the get-go, I've added a bit of redundancy to the text. Now the docs refer to "the element at `index` *after the reordering*".
…oli-obk Make it so that async-fn-in-trait is compatible with a concrete future in implementation There's no technical reason why an AFIT like `async fn foo()` cannot be satisfied with an implementation signature like `fn foo() -> Pin<Box<dyn Future<Output = ()> + 'static>>`. We rejected this previously because we were uncertain about how AFITs worked with refinement, but I don't believe this needs to be a restriction any longer. r? oli-obk
…r=Mark-Simulacrum Use `<T, U>` for array/slice equality `impl`s Makes the trait implementation documentation for arrays and slices appear more consistent. [Example](https://doc.rust-lang.org/1.75.0/std/primitive.array.html): mixed `A`, `B`, and `U`. ![List of PartialEq implementations for arrays](https://github.com/wackbyte/rust/assets/29505620/823c010e-ee57-4de1-885b-a1cd6dcaf85f) This change makes them all `U`.
…, r=petrochenkov update indirect structural match lints to match RFC and to show up for dependencies This is a large step towards implementing rust-lang/rfcs#3535. We currently have five lints related to "the structural match situation": - nontrivial_structural_match - indirect_structural_match - pointer_structural_match - const_patterns_without_partial_eq - illegal_floating_point_literal_pattern This PR concerns the first 3 of them. (The 4th already is set up to show for dependencies, and the 5th is removed by rust-lang#116284.) nontrivial_structural_match is being removed as per the RFC; the other two are enabled to show up in dependencies. Fixes rust-lang#73448 by removing the affected analysis.
…-Simulacrum Document `&CStr` to `CString` conversion Related to rust-lang#51430
…stebank Stop bailing out from compilation just because there were incoherent traits fixes rust-lang#120343 but also has a lot of "type annotations needed" fallout. Some are fixed in the second commit.
Update libc to 0.2.153 Bumps libc dependency to 0.2.153, which includes this fix, required for building std for the vita: rust-lang/libc#3552
rustdoc: trait.impl, type.impl: sort impls to make it not depend on serialization order Can be tested by running `cargo doc` with different rust versions on some crate and comparing `doc` folders: files in `trait.impl` and `type.impl` will sometimes have different order of impls.
@rustbot rustbot added 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. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Feb 4, 2024
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=8

@bors
Copy link
Collaborator

bors commented Feb 4, 2024

📌 Commit 3e88221 has been approved by matthiaskrgr

It is now in the queue for this repository.

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

The job x86_64-gnu-llvm-16 failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
GITHUB_ENV=/home/runner/work/_temp/_runner_file_commands/set_env_0c3b863b-f2ba-4e4c-bb24-c83576bf76ad GITHUB_EVENT_NAME=pull_request GITHUB_EVENT_PATH=/home/runner/work/_temp/_github_workflow/event.json GITHUB_GRAPHQL_URL=https://api.github.com/graphql GITHUB_HEAD_REF=rollup-3c8ufez GITHUB_JOB=pr GITHUB_PATH=/home/runner/work/_temp/_runner_file_commands/add_path_0c3b863b-f2ba-4e4c-bb24-c83576bf76ad GITHUB_REF=refs/pull/120653/merge GITHUB_REF_NAME=120653/merge GITHUB_REF_PROTECTED=false --- #12 writing image sha256:dcbd60774b01fe8783ad1bb366d65b7b9c5840fc457069ca03bb7cf2ae0e4ef3 done #12 naming to docker.io/library/rust-ci done #12 DONE 10.0s ##[endgroup] Setting extra environment values for docker: --env ENABLE_GCC_CODEGEN=1 --env GCC_EXEC_PREFIX=/usr/lib/gcc/ [CI_JOB_NAME=x86_64-gnu-llvm-16] ##[group]Clock drift check local time: Sun Feb 4 23:18:04 UTC 2024 network time: Sun, 04 Feb 2024 23:18:04 GMT network time: Sun, 04 Feb 2024 23:18:04 GMT ##[endgroup] sccache: Starting the server... ##[group]Configure the build configure: processing command line configure: configure: build.configure-args := ['--build=x86_64-unknown-linux-gnu', '--llvm-root=/usr/lib/llvm-16', '--enable-llvm-link-shared', '--set', 'rust.thin-lto-import-instr-limit=10', '--set', 'change-id=99999999', '--enable-verbose-configure', '--enable-sccache', '--disable-manage-submodules', '--enable-locked-deps', '--enable-cargo-native-static', '--set', 'rust.codegen-units-std=1', '--set', 'dist.compression-profile=balanced', '--dist-compression-formats=xz', '--set', 'build.optimized-compiler-builtins', '--disable-dist-src', '--release-channel=nightly', '--enable-debug-assertions', '--enable-overflow-checks', '--enable-llvm-assertions', '--set', 'rust.verify-llvm-ir', '--set', 'rust.codegen-backends=llvm,cranelift,gcc', '--set', 'llvm.static-libstdcpp', '--enable-new-symbol-mangling'] configure: target.x86_64-unknown-linux-gnu.llvm-config := /usr/lib/llvm-16/bin/llvm-config configure: llvm.link-shared := True configure: rust.thin-lto-import-instr-limit := 10 configure: change-id := 99999999 --- - error: aborting due to 1 previous error + error[E0282]: type annotations needed + --> $DIR/issue-67651.rs:17:18 + | + LL | async move { From::from() } 11 - For more information about this error, try `rustc --explain E0119`. + error: aborting due to 2 previous errors + --- To only update this specific test, also pass `--test-args async-await/issue-67651.rs` error: 1 errors occurred comparing output. status: exit status: 1 command: RUSTC_ICE="0" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/async-await/issue-67651.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/async-await/issue-67651" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/async-await/issue-67651/auxiliary" "--edition=2018" --- stderr ------------------------------- error[E0119]: conflicting implementations of trait `From` for type `()` ##[error] --> /checkout/tests/ui/async-await/issue-67651.rs:11:1 | --- error[E0282]: type annotations needed ##[error] --> /checkout/tests/ui/async-await/issue-67651.rs:17:18 | LL | async move { From::from() } error: aborting due to 2 previous errors Some errors have detailed explanations: E0119, E0282. Some errors have detailed explanations: E0119, E0282. For more information about an error, try `rustc --explain E0119`. ------------------------------------------ ---- [ui] tests/ui/specialization/specialization-default-items-drop-coherence.rs#next stdout ---- diff of stderr: 7 LL | impl Overlap for <u32 as Default>::Id { 8 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `u32` 9 + error[E0284]: type annotations needed: cannot satisfy `<u32 as Default>::Id == _` + | + | + LL | impl Overlap for <u32 as Default>::Id { + | ^^^^^^^^^^^^^^^^^^^^ cannot satisfy `<u32 as Default>::Id == _` 10 error[E0282]: type annotations needed 11 --> $DIR/specialization-default-items-drop-coherence.rs:18:23 12 | 13 LL | default type Id = T; 14 | ^ cannot infer type for associated type `<T as Default>::Id` - error: aborting due to 2 previous errors + error: aborting due to 3 previous errors 17 - Some errors have detailed explanations: E0119, E0282. - Some errors have detailed explanations: E0119, E0282. + Some errors have detailed explanations: E0119, E0282, E0284. 19 For more information about an error, try `rustc --explain E0119`. 20 The actual stderr differed from the expected stderr. Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/specialization/specialization-default-items-drop-coherence.next/specialization-default-items-drop-coherence.next.stderr To only update this specific test, also pass `--test-args specialization/specialization-default-items-drop-coherence.rs` error in revision `next`: 1 errors occurred comparing output. status: exit status: 1 status: exit status: 1 command: RUSTC_ICE="0" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/specialization/specialization-default-items-drop-coherence.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "next" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/specialization/specialization-default-items-drop-coherence.next" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/specialization/specialization-default-items-drop-coherence.next/auxiliary" "-Znext-solver" --- stderr ------------------------------- error[E0119]: conflicting implementations of trait `Overlap` for type `u32` ##[error] --> /checkout/tests/ui/specialization/specialization-default-items-drop-coherence.rs:29:1 | | LL | impl Overlap for u32 { | -------------------- first implementation here ... LL | impl Overlap for <u32 as Default>::Id { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `u32` error[E0284]: type annotations needed: cannot satisfy `<u32 as Default>::Id == _` | | LL | impl Overlap for <u32 as Default>::Id { | ^^^^^^^^^^^^^^^^^^^^ cannot satisfy `<u32 as Default>::Id == _` error[E0282]: type annotations needed ##[error] --> /checkout/tests/ui/specialization/specialization-default-items-drop-coherence.rs:18:23 | | LL | default type Id = T; //[next]~ ERROR type annotations needed | ^ cannot infer type for associated type `<T as Default>::Id` error: aborting due to 3 previous errors Some errors have detailed explanations: E0119, E0282, E0284. For more information about an error, try `rustc --explain E0119`. 
@compiler-errors
Copy link
Member

@matthiaskrgr: #120558 is more likely

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-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.