Skip to content

Rollup of 10 pull requests - #87806

Closed
JohnTitor wants to merge 25 commits into
rust-lang:masterfrom
JohnTitor:rollup-sv6f6bg
Closed

Rollup of 10 pull requests#87806
JohnTitor wants to merge 25 commits into
rust-lang:masterfrom
JohnTitor:rollup-sv6f6bg

Conversation

@JohnTitor

Copy link
Copy Markdown
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

ibraheemdevand others added 25 commits July 25, 2021 17:10
Test that FFI-safety warnings don't get accidentally dropped on naked
functions. The big picture is that if you implement a naked function
with the Rust ABI you'll get a warning. Further, if you implement a
naked function with a standardized ABI, but use non-FFI-safe types you
will still get a warning.
rust-lang/rfcs#2774rust-lang/rfcs#2972
This was removed by rust-lang#85284 in favor of -Zprofiler-runtime=<name>.
However the suggested -Zprofiler-runtime=None doesn't work because
"None" is treated as a crate name.
As per MCP#428[1] this target becomes Tier 2.
[1]: rust-lang/compiler-team#428
The sentence exists to highlight the existence of a
performance footgun of repeated calls of the
reserve_exact function.
We now let `noop_flat_map_stmt` assign `NodeId`s (via `visit_id`),
just as we do for other AST nodes.
…-comment, r=Mark-Simulacrum
Ignore comments in tidy-filelength
Ref rust-lang#60302 (comment)
…uillaumeGomez
Add long error explanation for E0625
For rust-lang#61137.
explicit_generic_args_with_impl_trait: fix min expected number of generics
Fixesrust-lang#87718
The problem was that `synth_type_param_count` was already subtracted from `named_type_param_count`, so this ended up being subtracted again. This caused `expected_min` to overflow, and ultimately resulting in weird and wrong behaviour.
I've also added another test not present in the original issue but caused by the same bug.
Validate FFI-safety warnings on naked functions
Test that FFI-safety warnings don't get accidentally dropped on naked
functions. The big picture is that if you implement a naked function
with the Rust ABI you'll get a warning. Further, if you implement a
naked function with a standardized ABI, but use non-FFI-safe types you
will still get a warning.
rust-lang/rfcs#2774rust-lang/rfcs#2972
cc `````@joshtriplett````` `````@Amanieu````` `````@haraldh`````
…h726
Add back -Zno-profiler-runtime
This was removed by rust-lang#85284 in favor of `-Zprofiler-runtime=<name>`.However the suggested `-Zprofiler-runtime=None` doesn't work because`None` is treated as a crate name.
Re-use std::sealed::Sealed in os/linux/process.
This uses `std::sealed::Sealed` in `std::os::linux::process` instead of defining new `Sealed` traits there.
…rk-Simulacrum
Promote `aarch64-apple-ios-sim` to Tier 2
As per rust-lang/compiler-team#428 this target becomes Tier 2.
---
I tested that the latest nightly has the target and I'm already building my project with that on CI and locally.
permit drop impls with generic constants in where clauses
Fixesrust-lang#79248
`==` is not sufficient to check for equality between unevaluated consts which causes the above issue because the const in `[(); N - 1]:` on the impl and the const in `[(); N - 1]:` on the struct def are not seen as equal. Any predicate that can contain an unevaluated const cant use `==` here as it will cause us to incorrectly emit an error.
I dont know much about chalk but it seems like we ought to be relating the `TypeWellFormedFromEnv` instead of `==` as it contains a `Ty` so I added that too...
r? `````@lcnr`````
Remove special case for statement `NodeId` assignment
We now let `noop_flat_map_stmt` assign `NodeId`s (via `visit_id`),
just as we do for other AST nodes.
alloc: Use intra doc links for the reserve function
The sentence exists to highlight the existence of a
performance footgun of repeated calls of the
reserve_exact function.
@rustbotrustbot added the rollup A PR which is a rollup label Aug 6, 2021
@JohnTitor

Copy link
Copy Markdown
MemberAuthor

@bors r+ p=10 rollup=never

@bors

bors commented Aug 6, 2021

Copy link
Copy Markdown
Collaborator

📌 Commit 0b3a5b0 has been approved by JohnTitor

@borsbors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Aug 6, 2021
@bors

bors commented Aug 6, 2021

Copy link
Copy Markdown
Collaborator

⌛ Testing commit 0b3a5b0 with merge a83f4ae8ca199be58807a5ca331fcd53c4dc747e...

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job dist-x86_64-linux-alt failed! Check out the build log: (web)(plain)

Click to see the possible cause of the failure (guessed by this bot)
 Documenting rustc_ast_passes v0.0.0 (/checkout/compiler/rustc_ast_passes)
[RUSTC-TIMING] rustc_ast_passes test:false 0.964
Checking rustc_expand v0.0.0 (/checkout/compiler/rustc_expand)
Documenting rustc_expand v0.0.0 (/checkout/compiler/rustc_expand)
error[E0275]: overflow evaluating the requirement `std::ptr::Unique<rustc_ast::FnDecl>: std::marker::Send`
|
= help: consider adding a `#![recursion_limit="256"]` attribute to your crate (`rustc_expand`)
= note: required because it appears within the type `std::boxed::Box<rustc_ast::FnDecl>`
= note: required because it appears within the type `rustc_ast::ptr::P<rustc_ast::FnDecl>`
= note: required because it appears within the type `rustc_ast::FnSig`
= note: required because it appears within the type `rustc_ast::FnKind`
= note: required because of the requirements on the impl of `std::marker::Send` for `std::ptr::Unique<rustc_ast::FnKind>`
= note: required because it appears within the type `std::boxed::Box<rustc_ast::FnKind>`
= note: required because it appears within the type `rustc_ast::ItemKind`
= note: required because it appears within the type `rustc_ast::Item`
= note: required because of the requirements on the impl of `std::marker::Send` for `std::ptr::Unique<rustc_ast::Item>`
= note: required because it appears within the type `std::boxed::Box<rustc_ast::Item>`
= note: required because it appears within the type `rustc_ast::ptr::P<rustc_ast::Item>`
= note: required because it appears within the type `rustc_ast::token::Nonterminal`
= note: required because of the requirements on the impl of `std::marker::Send` for `std::sync::Arc<rustc_ast::token::Nonterminal>`
= note: required because it appears within the type `rustc_ast::token::Token`
= note: required because it appears within the type `rustc_ast::tokenstream::TokenTree`
= note: required because it appears within the type `rustc_ast::tokenstream::TokenTree`
= note: required because it appears within the type `(rustc_ast::tokenstream::TokenTree, rustc_ast::tokenstream::Spacing)`
= note: required because of the requirements on the impl of `std::marker::Send` for `std::ptr::Unique<(rustc_ast::tokenstream::TokenTree, rustc_ast::tokenstream::Spacing)>`
= note: required because it appears within the type `smallvec::alloc::raw_vec::RawVec<(rustc_ast::tokenstream::TokenTree, rustc_ast::tokenstream::Spacing)>`
= note: required because it appears within the type `std::vec::Vec<(rustc_ast::tokenstream::TokenTree, rustc_ast::tokenstream::Spacing)>`
= note: required because of the requirements on the impl of `std::marker::Sync` for `std::sync::Arc<std::vec::Vec<(rustc_ast::tokenstream::TokenTree, rustc_ast::tokenstream::Spacing)>>`
= note: required because it appears within the type `rustc_ast::tokenstream::TokenStream`
= note: required because it appears within the type `rustc_ast::MacArgs`
= note: required because of the requirements on the impl of `std::marker::Sync` for `std::ptr::Unique<rustc_ast::MacArgs>`
= note: required because it appears within the type `std::boxed::Box<rustc_ast::MacArgs>`
= note: required because it appears within the type `rustc_ast::ptr::P<rustc_ast::MacArgs>`
= note: required because it appears within the type `rustc_ast::MacCall`
= note: required because it appears within the type `rustc_ast::PatKind`
= note: required because it appears within the type `rustc_ast::Pat`
= note: required because of the requirements on the impl of `std::marker::Sync` for `std::ptr::Unique<rustc_ast::Pat>`
= note: required because it appears within the type `std::boxed::Box<rustc_ast::Pat>`
= note: required because it appears within the type `rustc_ast::ptr::P<rustc_ast::Pat>`
= note: required because it appears within the type `rustc_ast::ExprKind`
= note: required because it appears within the type `rustc_ast::Expr`
= note: required because of the requirements on the impl of `std::marker::Sync` for `std::ptr::Unique<rustc_ast::Expr>`
= note: required because it appears within the type `std::boxed::Box<rustc_ast::Expr>`
= note: required because it appears within the type `rustc_ast::ptr::P<rustc_ast::Expr>`
= note: required because it appears within the type `rustc_ast::AnonConst`
= note: required because it appears within the type `rustc_ast::Ty`
= note: required because it appears within the type `rustc_ast::Ty`
= note: required because of the requirements on the impl of `std::marker::Sync` for `std::ptr::Unique<rustc_ast::Ty>`
= note: required because it appears within the type `std::boxed::Box<rustc_ast::Ty>`
= note: required because it appears within the type `rustc_ast::ptr::P<rustc_ast::Ty>`
= note: required because it appears within the type `rustc_ast::GenericArg`
= note: required because it appears within the type `rustc_ast::AngleBracketedArg`
= note: required because of the requirements on the impl of `std::marker::Sync` for `std::ptr::Unique<rustc_ast::AngleBracketedArg>`
= note: required because it appears within the type `smallvec::alloc::raw_vec::RawVec<rustc_ast::AngleBracketedArg>`
= note: required because it appears within the type `std::vec::Vec<rustc_ast::AngleBracketedArg>`
= note: required because it appears within the type `rustc_ast::AngleBracketedArgs`
= note: required because it appears within the type `rustc_ast::GenericArgs`
= note: required because of the requirements on the impl of `std::marker::Sync` for `std::ptr::Unique<rustc_ast::GenericArgs>`
= note: required because it appears within the type `std::boxed::Box<rustc_ast::GenericArgs>`
= note: required because it appears within the type `rustc_ast::ptr::P<rustc_ast::GenericArgs>`
= note: required because it appears within the type `std::option::Option<rustc_ast::ptr::P<rustc_ast::GenericArgs>>`
= note: required because it appears within the type `rustc_ast::PathSegment`
= note: required because of the requirements on the impl of `std::marker::Sync` for `std::ptr::Unique<rustc_ast::PathSegment>`
= note: required because it appears within the type `smallvec::alloc::raw_vec::RawVec<rustc_ast::PathSegment>`
= note: required because it appears within the type `std::vec::Vec<rustc_ast::PathSegment>`
= note: required because it appears within the type `rustc_ast::AttrItem`
= note: required because it appears within the type `rustc_ast::AttrKind`
= note: required because it appears within the type `rustc_ast::Attribute`
= note: required because it appears within the type `rustc_ast::Attribute`
= note: required because of the requirements on the impl of `std::marker::Sync` for `std::ptr::Unique<rustc_ast::Attribute>`
= note: required because it appears within the type `smallvec::alloc::raw_vec::RawVec<rustc_ast::Attribute>`
= note: required because it appears within the type `std::vec::Vec<rustc_ast::Attribute>`
For more information about this error, try `rustc --explain E0275`.
error: could not document `rustc_expand`
Caused by:
Caused by:
process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustdoc --edition=2018 --crate-type lib --crate-name rustc_expand compiler/rustc_expand/src/lib.rs --target x86_64-unknown-linux-gnu -o /checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/x86_64-unknown-linux-gnu/doc --error-format=json --json=diagnostic-rendered-ansi -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/x86_64-unknown-linux-gnu/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps --extern rustc_ast=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_ast-d0c4e2f0b670f279.rmeta --extern rustc_ast_passes=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_ast_passes-fdf2fb28f2fbf9d1.rmeta --extern rustc_ast_pretty=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_ast_pretty-cbfa67232ad12f8e.rmeta --extern rustc_attr=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_attr-ab518251e1696a09.rmeta --extern rustc_data_structures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_data_structures-2ff7bac5981ac3f8.rmeta --extern rustc_errors=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_errors-18e1958b45c5311b.rmeta --extern rustc_feature=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_feature-338d988ff6d6e324.rmeta --extern rustc_lexer=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_lexer-83cfe981e8157502.rmeta --extern rustc_lint_defs=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_lint_defs-683977ca32549746.rmeta --extern rustc_macros=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-7516fa25664181cf.so --extern rustc_parse=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_parse-ae9ab03526cf8160.rmeta --extern rustc_serialize=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_serialize-db6f8e606bc96ed6.rmeta --extern rustc_session=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_session-33ac5274a9de91ff.rmeta --extern rustc_span=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_span-2e9df1247654b5d2.rmeta --extern smallvec=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/x86_64-unknown-linux-gnu/release/deps/libsmallvec-066b78a4dc093f91.rmeta --extern tracing=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/x86_64-unknown-linux-gnu/release/deps/libtracing-6d4418b4aaab503a.rmeta -Dwarnings '-Wrustdoc::invalid_codeblock_attributes' --crate-version '1.56.0-nightly
(a83f4ae8c
2021-08-06)' --document-private-items '-Arustdoc::private-intra-doc-links' --enable-index-page -Zunstable-options -Znormalize-docs --show-type-layout --cfg=parallel_compiler` (exit status: 1)
[RUSTC-TIMING] rustc_expand test:false 1.291
[RUSTC-TIMING] rustc_middle test:false 18.177
error: build failed
command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "doc" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "16" "--release" "--locked" "--color" "always" "--features" "jemalloc llvm max_level_info" "--manifest-path" "/checkout/compiler/rustc/Cargo.toml" "-Zskip-rustdoc-fingerprint" "--no-deps" "-p" "rustc_hir" "-p" "rustc_codegen_ssa" "-p" "rustc_builtin_macros" "-p" "rustc_hir_pretty" "-p" "rustc_feature" "-p" "rustc_traits" "-p" "rustc_errors" "-p" "rustc_index" "-p" "rustc_infer" "-p" "rustc_lint_defs" "-p" "rustc_target" "-p" "rustc_incremental" "-p" "rustc_driver" "-p" "rustc_serialize" "-p" "rustc_query_impl" "-p" "rustc_ast" "-p" "rustc_typeck" "-p" "rustc_trait_selection" "-p" "rustc_parse" "-p" "rustc_middle" "-p" "rustc_data_structures" "-p" "rustc_resolve" "-p" "rustc_interface" "-p" "rustc_parse_format" "-p" "rustc_expand" "-p" "rustc_session" "-p" "rustc_graphviz" "-p" "rustc_mir" "-p" "coverage_test_macros" "-p" "rustc_query_system" "-p" "rustc_fs_util" "-p" "rustc_span" "-p" "rustc_error_codes" "-p" "rustc_ast_passes" "-p" "rustc_save_analysis" "-p" "rustc_apfloat" "-p" "rustc_privacy" "-p" "rustc_metadata" "-p" "rustc_ast_lowering" "-p" "rustc_lint" "-p" "rustc_mir_build" "-p" "rustc_symbol_mangling" "-p" "rustc_lexer" "-p" "rustc_type_ir" "-p" "rustc_ast_pretty" "-p" "rustc_arena" "-p" "rustc_llvm" "-p" "rustc_ty_utils" "-p" "rustc_macros" "-p" "rustc_attr" "-p" "rustc_plugin_impl" "-p" "rustc_codegen_llvm" "-p" "rustc_passes"
Build completed unsuccessfully in 0:08:17

@bors

bors commented Aug 6, 2021

Copy link
Copy Markdown
Collaborator

💔 Test failed - checks-actions

@borsbors 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 Aug 6, 2021
@JohnTitor
JohnTitor deleted the rollup-sv6f6bg branch August 6, 2021 02:20
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rollupA PR which is a rollupS-waiting-on-reviewStatus: Awaiting review from the assignee but also interested parties.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

13 participants

@JohnTitor@bors@rust-log-analyzer@rustbot@bhgomes@SkiFire13@npmccallum@Amanieu@m-ou-se@badboy@BoxyUwU@est31@Aaron1011