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

TypeFoldable: take self by value #78313

Merged
merged 5 commits into from
Nov 17, 2020
Merged

TypeFoldable: take self by value #78313

merged 5 commits into from
Nov 17, 2020

Conversation

lcnr
Copy link
Contributor

@lcnr lcnr commented Oct 24, 2020

Implements rust-lang/compiler-team#371 which is currently still in FCP.

r? @nikomatsakis

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Oct 24, 2020
@lcnr
Copy link
Contributor Author

lcnr commented Oct 24, 2020

let's see in what perf thinks of this.

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

Awaiting bors try build completion

@bors
Copy link
Contributor

bors commented Oct 24, 2020

⌛ Trying commit 3efcde0a036399b1cb3a01bb589f79184727cbde with merge 1a396367b187fab2aea56a4cf32d9040beb32dc5...

@lcnr
Copy link
Contributor Author

lcnr commented Oct 24, 2020

oh, looks like I am back at causing segfaults 😅

@rust-log-analyzer
Copy link
Collaborator

The job dist-x86_64-linux of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
   Compiling rustc_trait_selection v0.0.0 (/checkout/compiler/rustc_trait_selection)
   Compiling rustc_codegen_llvm v0.0.0 (/checkout/compiler/rustc_codegen_llvm)
   Compiling rustc_lint v0.0.0 (/checkout/compiler/rustc_lint)
   Compiling rustc_typeck v0.0.0 (/checkout/compiler/rustc_typeck)
error[E0277]: the trait bound `&&TyS<'_>: TypeFoldable<'_>` is not satisfied
    --> compiler/rustc_typeck/src/check/coercion.rs:1493:58
     |
1493 | ...                   fcx.resolve_vars_if_possible(&expected)
     |                                                    ^^^^^^^^^ the trait `TypeFoldable<'_>` is not implemented for `&&TyS<'_>`
     = help: the following implementations were found:
     = help: the following implementations were found:
               <&'tcx TyS<'tcx> as TypeFoldable<'tcx>>
help: consider adding dereference here
     |
1493 |                             fcx.resolve_vars_if_possible(&*expected)
     |                                                          ^^^^^^^^^^
help: consider removing the leading `&`-reference
     |
1493 |                             fcx.resolve_vars_if_possible(expected)

error: aborting due to previous error

For more information about this error, try `rustc --explain E0277`.
For more information about this error, try `rustc --explain E0277`.
error: could not compile `rustc_typeck`

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: build failed
command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--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" "--message-format" "json-render-diagnostics"
failed to run: /checkout/obj/build/bootstrap/debug/bootstrap dist --host x86_64-unknown-linux-gnu --target x86_64-unknown-linux-gnu --include-default-paths src/tools/build-manifest
Build completed unsuccessfully in 0:11:09
== clock drift check ==
  local time: Sat Oct 24 00:40:50 UTC 2020
  local time: Sat Oct 24 00:40:50 UTC 2020
  network time: Fri, 23 Oct 2020 23:31:30 GMT
== end clock drift check ==
##[error]Process completed with exit code 1.
Terminate orphan process: pid (6810) (python)

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @rust-lang/infra. (Feature Requests)

@bors
Copy link
Contributor

bors commented Oct 24, 2020

💔 Test failed - checks-actions

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 24, 2020
@jyn514 jyn514 added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Oct 24, 2020
@lcnr
Copy link
Contributor Author

lcnr commented Oct 24, 2020

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

Awaiting bors try build completion

@bors
Copy link
Contributor

bors commented Oct 24, 2020

⌛ Trying commit 03e92840e95776e053a2632d5365ac91637c1ba2 with merge 6309db59d459b39a4cfc4cc649e433e1c3a5ec34...

@bors
Copy link
Contributor

bors commented Oct 24, 2020

☀️ Try build successful - checks-actions
Build commit: 6309db59d459b39a4cfc4cc649e433e1c3a5ec34 (6309db59d459b39a4cfc4cc649e433e1c3a5ec34)

@rust-timer
Copy link
Collaborator

Queued 6309db59d459b39a4cfc4cc649e433e1c3a5ec34 with parent 7bade6e, future comparison URL.

@rust-timer
Copy link
Collaborator

Finished benchmarking try commit (6309db59d459b39a4cfc4cc649e433e1c3a5ec34): comparison url.

Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. Please note that if the perf results are neutral, you should likely undo the rollup=never given below by specifying rollup- to bors.

Importantly, though, if the results of this run are non-neutral do not roll this PR up -- it will mask other regressions or improvements in the roll up.

@bors rollup=never

@bjorn3
Copy link
Member

bjorn3 commented Oct 24, 2020

Slight regression of up to 0.6%.

@lcnr
Copy link
Contributor Author

lcnr commented Oct 24, 2020

updated IdFunctor

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

Awaiting bors try build completion

@bors

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@lcnr
Copy link
Contributor Author

lcnr commented Oct 24, 2020

@bors try

@nikomatsakis
Copy link
Contributor

@rust-lang/infra

Can we rerun bors for a specific target?

I'm guessing no?

@Mark-Simulacrum
Copy link
Member

bors try can do it (with some manual edits to the CI config, ping me on Zulip if you want to do this with the builder and I can provide instructions; at a high level this is some edits to src/ci/github-actions.yml to move a builder into the try: block and then running x.py run src/tools/expand-yaml-anchors), but you'd need to rebase this regardless to do so because of try limitations.

@lcnr
Copy link
Contributor Author

lcnr commented Nov 16, 2020

@bors r=nikomatsakis rollup=never

@bors
Copy link
Contributor

bors commented Nov 16, 2020

📌 Commit 7f45668 has been approved by nikomatsakis

@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 Nov 16, 2020
@bors
Copy link
Contributor

bors commented Nov 17, 2020

⌛ Testing commit 7f45668 with merge 9b2b02a...

@bors
Copy link
Contributor

bors commented Nov 17, 2020

☀️ Test successful - checks-actions
Approved by: nikomatsakis
Pushing 9b2b02a to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Nov 17, 2020
@bors bors merged commit 9b2b02a into rust-lang:master Nov 17, 2020
@rustbot rustbot added this to the 1.50.0 milestone Nov 17, 2020
@lcnr lcnr deleted the somebody-fold-me branch November 17, 2020 08:45
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Dec 9, 2021
Make IdFunctor::try_map_id panic-safe

Addresses FIXME comment created in rust-lang#78313

r? `@lcnr`
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Dec 10, 2021
Make IdFunctor::try_map_id panic-safe

Addresses FIXME comment created in rust-lang#78313

r? ``@lcnr``
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Dec 11, 2021
Make IdFunctor::try_map_id panic-safe

Addresses FIXME comment created in rust-lang#78313

r? ```@lcnr```
bors added a commit to rust-lang-ci/rust that referenced this pull request Dec 13, 2021
Avoid cloning refcounted types during folding

Addresses FIXME comment created in rust-lang#78313

r? `@lcnr`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. 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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

10 participants