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 5 pull requests #103090

Closed
wants to merge 11 commits into from

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Yan Chen and others added 11 commits September 28, 2022 15:27
…illot

Fix missing explanation of where the borrowed reference is used when the same borrow occurs multiple times due to loop iterations

Fix rust-lang#99824.

Problem of the issue:
If a borrow occurs in a loop, the borrowed reference could be invalidated at the same place at next iteration of the loop. When this happens, the point where the borrow occurs is the same as the intervening point that might invalidate the reference in the loop. This causes a problem for the current code finding the point where the resulting reference is used, so that the explanation of the cause will be missing. As the second point of "explain all errors in terms of three points" (see [leveraging intuition framing errors in terms of points"](https://rust-lang.github.io/rfcs/2094-nll.html#leveraging-intuition-framing-errors-in-terms-of-points), this explanation is very helpful for user to understand the error.

In the current implementation, the searching region for finding the location where the borrowed reference is used is limited to between the place where the borrow occurs and the place where the reference is invalidated. If those two places happen to be the same, which indicates that the borrow and invalidation occur at the same place in a loop, the search will fail.

One solution to the problem is when these two places are the same,  find the terminator of the loop, and then use the location of the loop terminator instead of the location of the borrow for the region to find the place where the borrowed reference is used.
Enable `x.py check` for miri

Now that the miri subtree is working properly, let's add it to x.py check.

cc `@rust-lang/miri`
Update pkg-config

I'd like to be able to cross-compile rustc in a scenario where it'd be really helpful to have rust-lang/pkg-config-rs@cd3ccca.  I've done some test builds of the compiler on x86_64 linux, targeting x86_64 linux and aarch64 linux.
…imes, r=cjgillot

pretty: fix to print some lifetimes on HIR pretty-print

HIR pretty-printer doesn't seem to print some lifetimes in types. This PR fixes that.

Closes rust-lang#85089
Surround type with backticks

Very smol PR. :)
@rustbot rustbot added T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Oct 15, 2022
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Contributor

bors commented Oct 15, 2022

📌 Commit 8b6dddc has been approved by matthiaskrgr

It is now in the queue for this repository.

@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 Oct 15, 2022
@bors
Copy link
Contributor

bors commented Oct 15, 2022

⌛ Testing commit 8b6dddc with merge 9da13091b18c87d5a3ad2e214b37d223ed0892b7...

@bors
Copy link
Contributor

bors commented Oct 15, 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 Oct 15, 2022
@rust-log-analyzer
Copy link
Collaborator

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

Click to see the possible cause of the failure (guessed by this bot)
test src/sync.rs - sync::Weak<T>::upgrade (line 1969) ... ok
test src/sync.rs - sync::Weak<T>::ptr_eq (line 2100) ... ok
test src/sync.rs - sync::Weak<T>::into_raw (line 1875) ... ok
test src/vec/drain.rs - vec::drain::Drain (line 17) ... ok
test src/vec/drain.rs - vec::drain::Drain<'a,T,A>::as_slice (line 48) ... ok
test src/vec/in_place_collect.rs - vec::in_place_collect (line 100) ... ok
test src/vec/in_place_collect.rs - vec::in_place_collect (line 111) ... ok
test src/vec/drain_filter.rs - vec::drain_filter::DrainFilter (line 15) ... ok
test src/vec/drain_filter.rs - vec::drain_filter::DrainFilter (line 15) ... ok
test src/vec/drain.rs - vec::drain::Drain<'a,T,A>::keep_rest (line 73) ... ok
test src/vec/into_iter.rs - vec::into_iter::IntoIter (line 24) ... ok
test src/vec/drain_filter.rs - vec::drain_filter::DrainFilter<'_,T,F,A>::keep_rest (line 63) ... ok
test src/vec/into_iter.rs - vec::into_iter::IntoIter<T,A>::forget_allocation_drop_remaining (line 103) ... ok
test src/vec/into_iter.rs - vec::into_iter::IntoIter<T,A>::as_mut_slice (line 72) ... ok
test src/vec/into_iter.rs - vec::into_iter::IntoIter<T,A>::as_slice (line 56) ... ok
test src/vec/in_place_collect.rs - vec::in_place_collect (line 121) ... ok
---
test src/slice/iter.rs - slice::iter::SplitInclusive (line 528) ... ok
test src/slice/iter.rs - slice::iter::Windows (line 1288) ... ok
test src/slice/iter.rs - slice::iter::SplitInclusiveMut (line 778) ... ok
test src/slice/iter.rs - slice::iter::SplitMut (line 649) ... ok
test src/slice/iter.rs - slice::iter::Split<'a,T,P>::as_slice (line 411) ... ok
test src/slice/iter.rs - slice::iter::SplitNMut (line 1203) ... ok
test src/slice/iter.rs - slice::iter::SplitN (line 1122) ... ok
test src/slice/mod.rs - slice::[T]::align_to_mut (line 3521) ... ok
test src/slice/mod.rs - slice::[T]::array_chunks (line 1065) ... ok
---
test src/time.rs - time::SystemTimeError (line 247) - compile ... ok
test src/time.rs - time (line 7) ... ok
test src/thread/mod.rs - thread::spawn (line 686) ... ok
test src/time.rs - time::Instant::now (line 268) ... ok
test src/thread/scoped.rs - thread::scoped::ScopedJoinHandle<'scope,T>::join (line 296) ... ok
test src/thread/scoped.rs - thread::scoped::ScopedJoinHandle<'scope,T>::thread (line 264) ... ok
test src/thread/scoped.rs - thread::scoped::Builder::spawn_scoped (line 212) ... ok
test src/thread/scoped.rs - thread::scoped::scope (line 84) ... ok
test src/sync/mpsc/mod.rs - sync::mpsc::TryIter (line 401) ... ok
test src/thread/mod.rs - thread::spawn (line 662) ... ok
---
   Doc-tests rustc_hir

running 11 tests
test src/hir.rs - hir::LocalSource::AsyncFn (line 2062) ... ignored
test src/hir.rs - hir::Node<'hir>::ident (line 3387) ... ignored
test src/hir.rs - hir::ParamName::Fresh (line 57) ... ignored
test src/hir.rs - hir::PatKind::Slice (line 1149) ... ignored
test src/hir.rs - hir::TypeBinding (line 2333) ... ignored
test src/def.rs - def::Res::SelfTyAlias (line 332) ... ok
---
   |
20 | //! std::atomic<T> API). It is therefore possible for this implementation to generate behaviours never observable when the
   |                ^^^
   |
   = note: `-D rustdoc::invalid-html-tags` implied by `-D warnings`
   |
20 | //! `std::atomic<T>` API). It is therefore possible for this implementation to generate behaviours never observable when the
   |     +              +


error: could not document `miri`

Caused by:
  process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustdoc --edition=2021 --crate-type lib --crate-name miri src/tools/miri/src/lib.rs --target x86_64-unknown-linux-gnu -o /checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/doc --cfg 'feature="default"' --cfg 'feature="stack-cache"' -Zunstable-options --check-cfg 'values(feature, "default", "stack-cache")' --check-cfg 'names()' --check-cfg 'values()' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat -C metadata=3c1e4fbd35df40d2 -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/release/deps --extern env_logger=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libenv_logger-751014f43673acfb.rmeta --extern getrandom=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libgetrandom-d1fce1ad6522dbd1.rmeta --extern libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/liblibc-2a3ac2e2c89c9066.rmeta --extern libffi=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/liblibffi-518a66794a5a25c8.rmeta --extern libloading=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/liblibloading-3ded268c83d85657.rmeta --extern log=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/liblog-53345ef8ca6ba290.rmeta --extern measureme=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libmeasureme-97ba12c5b4eb21de.rmeta --extern rand=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/librand-16050e492f4c59db.rmeta --extern rustc_workspace_hack=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/librustc_workspace_hack-d766480c5c7416fe.rmeta --extern shell_escape=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libshell_escape-c54c09e164d2b96c.rmeta --extern smallvec=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libsmallvec-a03264754a00f2e4.rmeta -Csymbol-mangling-version=v0 -Zunstable-options '--check-cfg=values(bootstrap)' '--check-cfg=values(parallel_compiler)' '--check-cfg=values(release)' '--check-cfg=values(no_btreemap_remove_entry)' '--check-cfg=values(crossbeam_loom)' '--check-cfg=values(span_locations)' '--check-cfg=values(rustix_use_libc)' -Dwarnings '-Wrustdoc::invalid_codeblock_attributes' --crate-version '1.66.0
  (9da13091b
Build completed unsuccessfully in 0:28:16

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-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) 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.

8 participants