Remove a back-compat hack on lazy TAIT by JohnTitor · Pull Request #97346 · rust-lang/rust (original) (raw)

Conversation

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters

[ Show hidden characters]({{ revealButtonHref }})

JohnTitor

This PR's motivation is here: #72614 (comment)
But removing a hack doesn't seem to reject the code on the issue, there're some more hacks?
r? @oli-obk

@rustbot rustbot added the T-compiler

Relevant to the compiler team, which will review and decide on the PR/issue.

label

May 24, 2022

@oli-obk

But removing a hack doesn't seem to reject the code on the issue, there're some more hacks?

Oh... Turns out I didn't read your example test very well. Yea, that's totally fine to pass. There were other roundabout ways to make the same thing pass before.

So independently of that issue, we can still remove the back compat hack and see how well/bad it goes

@JohnTitor

Alright, dropped the test as it's unrelated to the hack itself.

Oh... Turns out I didn't read your example test very well. Yea, that's totally fine to pass. There were other roundabout ways to make the same thing pass before.

Is there any reference/discussion etc. to that? To close #72614, I'd like to know how these impl traits work!

So independently of that issue, we can still remove the back compat hack and see how well/bad it goes

Feel free to kick off crater once you're ready, I'm not familiar with it.

oli-obk

Comment on lines 51 to 54

if !value.has_opaque_types() {
return InferOk { value, obligations: vec![] };
}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This may still be necessary as a performance optimization

@oli-obk

@bors

⌛ Trying commit c46eea9c5b7f87152efb7b76f1ceba0f2b165e6c with merge 7306d3110618f84a6a4662b9e2cc4fd0d9b02da8...

@oli-obk

Is there any reference/discussion etc. to that? To close #72614, I'd like to know how these impl traits work!

Not really, but I'll leave a comment on that issue explaining what the heck is going on

@bors

☀️ Try build successful - checks-actions
Build commit: 7306d3110618f84a6a4662b9e2cc4fd0d9b02da8 (7306d3110618f84a6a4662b9e2cc4fd0d9b02da8)

@oli-obk

@craterbot

👌 Experiment pr-97346 created and queued.
🤖 Automatically detected try build 7306d3110618f84a6a4662b9e2cc4fd0d9b02da8
🔍 You can check out the queue and this experiment's details.

ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

mati865

@craterbot

🚧 Experiment pr-97346 is now running

ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@craterbot

@JohnTitor

@oli-obk We have a ton of spurious-regressed, is it okay?

Some analysis of "root results" failures:

I think all of the "regressed: dependencies" failures are due to a lack of mem.
So I'd like to say that the impact of this change would be pretty small (if we could ignore the "spurious-regressed" failures).
Thoughts?

@oli-obk

Yea, except for proxy-server, all of these are unrelated. I guess we can break them as long as we open an issue or fix PR on their repo

JohnTitor added a commit to JohnTitor/mock-server that referenced this pull request

Jun 16, 2022

@JohnTitor

Signed-off-by: Yuki Okushi jtitor@2k36.org

andrewhickman added a commit to andrewhickman/mock-server that referenced this pull request

Jun 16, 2022

@andrewhickman

@JohnTitor

@oli-obk oli-obk added T-types

Relevant to the types team, which will review and decide on the PR/issue.

and removed T-compiler

Relevant to the compiler team, which will review and decide on the PR/issue.

labels

Jun 16, 2022

@JohnTitor

@JohnTitor

@bors

📌 Commit c24f063 has been approved by oli-obk

@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-author

Status: This is awaiting some action (such as code changes or more information) from the author.

labels

Jun 27, 2022

Dylan-DPC added a commit to Dylan-DPC/rust that referenced this pull request

Jun 28, 2022

@Dylan-DPC

… r=oli-obk

Remove a back-compat hack on lazy TAIT

This PR's motivation is here: rust-lang#72614 (comment) But removing a hack doesn't seem to reject the code on the issue, there're some more hacks? r? @oli-obk

bors added a commit to rust-lang-ci/rust that referenced this pull request

Jun 28, 2022

@bors

oli-obk added a commit to oli-obk/rust that referenced this pull request

Jul 28, 2022

@oli-obk

…t-hacks, r=oli-obk"

This reverts commit c703d11, reversing changes made to 64eb9ab.

bors added a commit to rust-lang-ci/rust that referenced this pull request

Aug 18, 2022

@bors

Revert "Rollup merge of rust-lang#97346 - JohnTitor:remove-back-compat-hacks, …

…r=oli-obk"

This reverts commit c703d11, reversing changes made to 64eb9ab.

it didn't apply cleanly, so now it works the same for RPIT and for TAIT instead of just working for RPIT, but we should keep those in sync anyway. It also exposed a TAIT bug (see the feature gated test that now ICEs).

r? @pnkfelix

fixes rust-lang#99536

ehuss pushed a commit to ehuss/rust that referenced this pull request

Aug 31, 2022

@bors @ehuss

Revert "Rollup merge of rust-lang#97346 - JohnTitor:remove-back-compat-hacks, …

…r=oli-obk"

This reverts commit c703d11, reversing changes made to 64eb9ab.

it didn't apply cleanly, so now it works the same for RPIT and for TAIT instead of just working for RPIT, but we should keep those in sync anyway. It also exposed a TAIT bug (see the feature gated test that now ICEs).

r? @pnkfelix

fixes rust-lang#99536

@ehuss ehuss mentioned this pull request

Aug 31, 2022

@ehuss ehuss added beta-accepted

Accepted for backporting to the compiler in the beta channel.

and removed beta-accepted

Accepted for backporting to the compiler in the beta channel.

labels

Aug 31, 2022

bors added a commit to rust-lang-ci/rust that referenced this pull request

Aug 31, 2022

@bors

wip-sync pushed a commit to NetBSD/pkgsrc-wip that referenced this pull request

Oct 11, 2022

@he32

Pkgsrc changes:

Upstream changes:

Version 1.64.0 (2022-09-22)

Language

Compiler

Libraries

Stabilized APIs

These types were previously stable in std::ffi, but are now also available in core and alloc:

These types were previously stable in std::os::raw, but are now also available in core::ffi and std::ffi:

These APIs are now usable in const contexts:

Cargo

Misc

Compatibility Notes

Internal Changes

These changes do not affect any public interfaces of Rust, but they represent significant improvements to the performance or internals of rustc and related tools.

netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request

Nov 16, 2022

@he32

Pkgsrc changes:

Upstream changes:

Version 1.64.0 (2022-09-22)

Language

Compiler

Libraries

Stabilized APIs

These types were previously stable in std::ffi, but are now also available in core and alloc:

These types were previously stable in std::os::raw, but are now also available in core::ffi and std::ffi:

These APIs are now usable in const contexts:

Cargo

Misc

Compatibility Notes

Internal Changes

These changes do not affect any public interfaces of Rust, but they represent significant improvements to the performance or internals of rustc and related tools.

Labels

disposition-merge

This issue / PR is in PFCP or FCP with a disposition to merge it.

finished-final-comment-period

The final comment period is finished for this PR / Issue.

S-waiting-on-bors

Status: Waiting on bors to run and complete tests. Bors will change the label on completion.

T-types

Relevant to the types team, which will review and decide on the PR/issue.