Skip to content

Create fresh lifetime parameters for bare fn trait too #98637

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 2 commits into from
Jul 11, 2022

Conversation

cjgillot
Copy link
Contributor

@cjgillot cjgillot commented Jun 28, 2022

The current code fails to account for the equivalence between dyn FnMut(&mut u8) and bare FnMut(&mut u8), and treated them differently.

This PR introduces a special case for Fn traits, which are always fully resolved.

Fixes #98616
Fixes #98726
This will require a beta-backport, as beta contains that bug.

r? @petrochenkov

@rustbot rustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Jun 28, 2022
@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jun 28, 2022
@Mark-Simulacrum Mark-Simulacrum added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jul 1, 2022
@apiraino
Copy link
Contributor

apiraino commented Jul 7, 2022

Beta backport approved as per compiler team on Zulip

@rustbot label +beta-accepted

@rustbot rustbot added the beta-accepted Accepted for backporting to the compiler in the beta channel. label Jul 7, 2022
@Mark-Simulacrum
Copy link
Member

@bors p=1 (beta backport)

@petrochenkov
Copy link
Contributor

@bors r+

@bors
Copy link
Collaborator

bors commented Jul 11, 2022

📌 Commit 21a12e8 has been approved by petrochenkov

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 Jul 11, 2022
@bors
Copy link
Collaborator

bors commented Jul 11, 2022

⌛ Testing commit 21a12e8 with merge 38b7215...

@bors
Copy link
Collaborator

bors commented Jul 11, 2022

☀️ Test successful - checks-actions
Approved by: petrochenkov
Pushing 38b7215 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jul 11, 2022
@bors bors merged commit 38b7215 into rust-lang:master Jul 11, 2022
@rustbot rustbot added this to the 1.64.0 milestone Jul 11, 2022
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (38b7215): comparison url.

Instruction count

This benchmark run did not return any relevant results for this metric.

Max RSS (memory usage)

Results
  • Primary benchmarks: no relevant changes found
  • Secondary benchmarks: 🎉 relevant improvement found
mean1 max count2
Regressions 😿
(primary)
N/A N/A 0
Regressions 😿
(secondary)
N/A N/A 0
Improvements 🎉
(primary)
N/A N/A 0
Improvements 🎉
(secondary)
-3.3% -3.3% 1
All 😿🎉 (primary) N/A N/A 0

Cycles

Results
  • Primary benchmarks: no relevant changes found
  • Secondary benchmarks: 😿 relevant regressions found
mean1 max count2
Regressions 😿
(primary)
N/A N/A 0
Regressions 😿
(secondary)
6.4% 9.4% 2
Improvements 🎉
(primary)
N/A N/A 0
Improvements 🎉
(secondary)
N/A N/A 0
All 😿🎉 (primary) N/A N/A 0

If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf.

@rustbot label: -perf-regression

Footnotes

  1. the arithmetic mean of the percent change 2

  2. number of relevant changes 2

@cjgillot cjgillot deleted the bare-trait-anon-lt branch July 13, 2022 12:14
@Mark-Simulacrum Mark-Simulacrum removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jul 15, 2022
@Mark-Simulacrum Mark-Simulacrum modified the milestones: 1.64.0, 1.63.0 Jul 15, 2022
@Mark-Simulacrum Mark-Simulacrum mentioned this pull request Jul 15, 2022
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 16, 2022
…ulacrum

[beta] rollup

*  Fix sized check ICE in asm check rust-lang#99124
*  Windows: Fallback for overlapped I/O rust-lang#98950
*  promote placeholder bounds to 'static obligations rust-lang#98713
*  Create fresh lifetime parameters for bare fn trait too rust-lang#98637

r? `@Mark-Simulacrum`
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
beta-accepted Accepted for backporting to the compiler in the beta channel. 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
8 participants