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

Move subtyper below reveal_all and change reveal_all #116415

Merged
merged 1 commit into from
Oct 5, 2023

Conversation

ouz-a
Copy link
Contributor

@ouz-a ouz-a commented Oct 4, 2023

In previous attempt #116378 we tried to handle Opaque in few different places, but this isn't necessary, after moving subtyper below reveal_all and calling super_place on reveal_all, issues cease to exist.

r? @oli-obk

Fixes #116332
Fixes #116265
Fixes #116383
Fixes #116333

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Oct 4, 2023
@rustbot
Copy link
Collaborator

rustbot commented Oct 4, 2023

Some changes occurred to MIR optimizations

cc @rust-lang/wg-mir-opt

@ouz-a ouz-a changed the title Move subtyper below reveal_all and Change reveal_all Move subtyper below reveal_all and change reveal_all Oct 4, 2023
@oli-obk
Copy link
Contributor

oli-obk commented Oct 4, 2023

@bors r+

@bors
Copy link
Contributor

bors commented Oct 4, 2023

📌 Commit 8bc1355 has been approved by oli-obk

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 Oct 4, 2023
@lqd
Copy link
Member

lqd commented Oct 4, 2023

Were you able to try this on the repository in #116333 by any chance?

@ouz-a
Copy link
Contributor Author

ouz-a commented Oct 4, 2023

Were you able to try this on the repository in #116333 by any chance?

Yes and no, I tried minimal example provided in the issue and it's same as the issues we have already tests with. So yes this fixes that issue as well

@matthiaskrgr matthiaskrgr 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 4, 2023
@bors
Copy link
Contributor

bors commented Oct 5, 2023

☔ The latest upstream changes (presumably #116427) made this pull request unmergeable. Please resolve the merge conflicts.

@saethlin saethlin linked an issue Oct 5, 2023 that may be closed by this pull request
@lqd
Copy link
Member

lqd commented Oct 5, 2023

Since it fixes #116333 can we also add the minimization as a test?

It seems this PR also fixes #116382, and that issue also has a minimization.

@ouz-a
Copy link
Contributor Author

ouz-a commented Oct 5, 2023

Since it fixes #116333 can we also add the minimization as a test?

It seems this PR also fixes #116382, and that issue also has a minimization.

Done, added them on last commit.

@oli-obk
Copy link
Contributor

oli-obk commented Oct 5, 2023

@bors r+

@bors
Copy link
Contributor

bors commented Oct 5, 2023

📌 Commit 3088c4b has been approved by oli-obk

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 Oct 5, 2023
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Oct 5, 2023
Move subtyper below reveal_all and change reveal_all

In previous attempt rust-lang#116378 we tried to handle `Opaque` in few different places, but this isn't necessary, after moving subtyper below reveal_all and calling `super_place` on reveal_all, issues cease to exist.

r? `@oli-obk`

Fixes rust-lang#116332
Fixes rust-lang#116265
Fixes rust-lang#116383
Fixes rust-lang#116333
bors added a commit to rust-lang-ci/rust that referenced this pull request Oct 5, 2023
…iaskrgr

Rollup of 5 pull requests

Successful merges:

 - rust-lang#116220 (stabilize `Option::as_`(`mut_`)`slice`)
 - rust-lang#116288 (Add Span to various smir types)
 - rust-lang#116415 (Move subtyper below reveal_all and change reveal_all)
 - rust-lang#116428 (Add a note to duplicate diagnostics)
 - rust-lang#116452 (Do not assert that hidden types don't have erased regions.)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 08cc742 into rust-lang:master Oct 5, 2023
11 checks passed
@rustbot rustbot added this to the 1.75.0 milestone Oct 5, 2023
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Oct 5, 2023
Rollup merge of rust-lang#116415 - ouz-a:move_subtyper, r=oli-obk

Move subtyper below reveal_all and change reveal_all

In previous attempt rust-lang#116378 we tried to handle `Opaque` in few different places, but this isn't necessary, after moving subtyper below reveal_all and calling `super_place` on reveal_all, issues cease to exist.

r? ``@oli-obk``

Fixes rust-lang#116332
Fixes rust-lang#116265
Fixes rust-lang#116383
Fixes rust-lang#116333
bors-ferrocene bot added a commit to ferrocene/ferrocene that referenced this pull request Oct 6, 2023
23: Fix divergence from upstream `master` r=tshepang a=pvdrz

* rust-lang/rust#116483
  * rust-lang/rust#116475
  * rust-lang/rust#116329
  * rust-lang/rust#116198
  * rust-lang/rust#115588
  * rust-lang/rust#115522
  * rust-lang/rust#115454
* rust-lang/rust#111595
* rust-lang/rust#116018
* rust-lang/rust#116472
  * rust-lang/rust#116469
  * rust-lang/rust#116421
* rust-lang/rust#116463
* rust-lang/rust#101150
* rust-lang/rust#116269
* rust-lang/rust#116417
* rust-lang/rust#116455
  * rust-lang/rust#116452
  * rust-lang/rust#116428
  * rust-lang/rust#116415
  * rust-lang/rust#116288
  * rust-lang/rust#116220
* rust-lang/rust#103046
* rust-lang/rust#114042
* rust-lang/rust#104153
* rust-lang/rust#116427
* rust-lang/rust#116443
  * rust-lang/rust#116432
  * rust-lang/rust#116431
  * rust-lang/rust#116429
  * rust-lang/rust#116296
  * rust-lang/rust#116223
* rust-lang/rust#116273
* rust-lang/rust#116184
* rust-lang/rust#116370
* rust-lang/rust#114417
* rust-lang/rust#115200
* rust-lang/rust#116413
* rust-lang/rust#116381
* rust-lang/rust#116360
* rust-lang/rust#116353
* rust-lang/rust#116406
* rust-lang/rust#116408
  * rust-lang/rust#116395
  * rust-lang/rust#116393
  * rust-lang/rust#116388
  * rust-lang/rust#116365
  * rust-lang/rust#116363
  * rust-lang/rust#116146
  * rust-lang/rust#115961
* rust-lang/rust#116386
* rust-lang/rust#116367
* rust-lang/rust#105394
* rust-lang/rust#115301
* rust-lang/rust#116384
  * rust-lang/rust#116379
  * rust-lang/rust#116328
  * rust-lang/rust#116282
  * rust-lang/rust#116261
  * rust-lang/rust#114654
* rust-lang/rust#116376
  * rust-lang/rust#116374
  * rust-lang/rust#116371
  * rust-lang/rust#116358
  * rust-lang/rust#116210
  * rust-lang/rust#115863
* rust-lang/rust#115025
* rust-lang/rust#116372
  * rust-lang/rust#116361
  * rust-lang/rust#116355
  * rust-lang/rust#116351
  * rust-lang/rust#116158
  * rust-lang/rust#115726
  * rust-lang/rust#113053
* rust-lang/rust#116083
* rust-lang/rust#102099
* rust-lang/rust#116356
  * rust-lang/rust#116350
  * rust-lang/rust#116349
  * rust-lang/rust#116289
  * rust-lang/rust#114454
  * rust-lang/rust#114453
* rust-lang/rust#116331
* rust-lang/rust#116346
  * rust-lang/rust#116340
  * rust-lang/rust#116326
  * rust-lang/rust#116313
* rust-lang/rust#116276
* rust-lang/rust#115898
* rust-lang/rust#116325
* rust-lang/rust#116317
* rust-lang/rust#116207
* rust-lang/rust#116281
* rust-lang/rust#116304
* rust-lang/rust#116259
* rust-lang/rust#116228
* rust-lang/rust#116224
* rust-lang/rust#115554
* rust-lang/rust#116311
  * rust-lang/rust#116299
  * rust-lang/rust#116295
  * rust-lang/rust#116292
* rust-lang/rust#116307
* rust-lang/rust#115670
* rust-lang/rust#116225
* rust-lang/rust#116302
* rust-lang/rust#116108
* rust-lang/rust#116160
* rust-lang/rust#116157
* rust-lang/rust#116127
* rust-lang/rust#116286
* rust-lang/rust#116254
* rust-lang/rust#116195
* rust-lang/rust#116280
* rust-lang/rust#115933
* rust-lang/rust#115546
* rust-lang/rust#115368
* rust-lang/rust#116275
  * rust-lang/rust#116263
  * rust-lang/rust#116241
  * rust-lang/rust#116216
  * rust-lang/rust#116030
  * rust-lang/rust#116024
  * rust-lang/rust#112123
* rust-lang/rust#113301
* rust-lang/rust#113797
* rust-lang/rust#115759
* rust-lang/rust#116260
  * rust-lang/rust#116253
  * rust-lang/rust#116245
  * rust-lang/rust#116239
  * rust-lang/rust#116234
  * rust-lang/rust#116231
  * rust-lang/rust#116201
  * rust-lang/rust#116133
* rust-lang/rust#116176
* rust-lang/rust#116089
* rust-lang/rust#115986

Co-authored-by: ouz-a <ouz.agz@gmail.com>
Co-authored-by: bors <bors@rust-lang.org>
Co-authored-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Co-authored-by: linkmauve <linkmauve@linkmauve.fr>
Co-authored-by: onur-ozkan <work@onurozkan.dev>
Co-authored-by: asquared31415 <34665709+asquared31415@users.noreply.github.com>
Co-authored-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
Co-authored-by: Ralf Jung <post@ralfj.de>
Co-authored-by: Nadrieril <nadrieril+git@gmail.com>
Co-authored-by: Raekye <Raekye@users.noreply.github.com>
Co-authored-by: Mark Rousskov <mark.simulacrum@gmail.com>
Co-authored-by: Zalathar <Zalathar@users.noreply.github.com>
bors-ferrocene bot added a commit to ferrocene/ferrocene that referenced this pull request Oct 9, 2023
23: Fix divergence from upstream `master` r=pietroalbini a=pvdrz

* rust-lang/rust#116483
  * rust-lang/rust#116475
  * rust-lang/rust#116329
  * rust-lang/rust#116198
  * rust-lang/rust#115588
  * rust-lang/rust#115522
  * rust-lang/rust#115454
* rust-lang/rust#111595
* rust-lang/rust#116018
* rust-lang/rust#116472
  * rust-lang/rust#116469
  * rust-lang/rust#116421
* rust-lang/rust#116463
* rust-lang/rust#101150
* rust-lang/rust#116269
* rust-lang/rust#116417
* rust-lang/rust#116455
  * rust-lang/rust#116452
  * rust-lang/rust#116428
  * rust-lang/rust#116415
  * rust-lang/rust#116288
  * rust-lang/rust#116220
* rust-lang/rust#103046
* rust-lang/rust#114042
* rust-lang/rust#104153
* rust-lang/rust#116427
* rust-lang/rust#116443
  * rust-lang/rust#116432
  * rust-lang/rust#116431
  * rust-lang/rust#116429
  * rust-lang/rust#116296
  * rust-lang/rust#116223
* rust-lang/rust#116273
* rust-lang/rust#116184
* rust-lang/rust#116370
* rust-lang/rust#114417
* rust-lang/rust#115200
* rust-lang/rust#116413
* rust-lang/rust#116381
* rust-lang/rust#116360
* rust-lang/rust#116353
* rust-lang/rust#116406
* rust-lang/rust#116408
  * rust-lang/rust#116395
  * rust-lang/rust#116393
  * rust-lang/rust#116388
  * rust-lang/rust#116365
  * rust-lang/rust#116363
  * rust-lang/rust#116146
  * rust-lang/rust#115961
* rust-lang/rust#116386
* rust-lang/rust#116367
* rust-lang/rust#105394
* rust-lang/rust#115301
* rust-lang/rust#116384
  * rust-lang/rust#116379
  * rust-lang/rust#116328
  * rust-lang/rust#116282
  * rust-lang/rust#116261
  * rust-lang/rust#114654
* rust-lang/rust#116376
  * rust-lang/rust#116374
  * rust-lang/rust#116371
  * rust-lang/rust#116358
  * rust-lang/rust#116210
  * rust-lang/rust#115863
* rust-lang/rust#115025
* rust-lang/rust#116372
  * rust-lang/rust#116361
  * rust-lang/rust#116355
  * rust-lang/rust#116351
  * rust-lang/rust#116158
  * rust-lang/rust#115726
  * rust-lang/rust#113053
* rust-lang/rust#116083
* rust-lang/rust#102099
* rust-lang/rust#116356
  * rust-lang/rust#116350
  * rust-lang/rust#116349
  * rust-lang/rust#116289
  * rust-lang/rust#114454
  * rust-lang/rust#114453
* rust-lang/rust#116331
* rust-lang/rust#116346
  * rust-lang/rust#116340
  * rust-lang/rust#116326
  * rust-lang/rust#116313
* rust-lang/rust#116276
* rust-lang/rust#115898
* rust-lang/rust#116325
* rust-lang/rust#116317
* rust-lang/rust#116207
* rust-lang/rust#116281
* rust-lang/rust#116304
* rust-lang/rust#116259
* rust-lang/rust#116228
* rust-lang/rust#116224
* rust-lang/rust#115554
* rust-lang/rust#116311
  * rust-lang/rust#116299
  * rust-lang/rust#116295
  * rust-lang/rust#116292
* rust-lang/rust#116307
* rust-lang/rust#115670
* rust-lang/rust#116225
* rust-lang/rust#116302
* rust-lang/rust#116108
* rust-lang/rust#116160
* rust-lang/rust#116157
* rust-lang/rust#116127
* rust-lang/rust#116286
* rust-lang/rust#116254
* rust-lang/rust#116195
* rust-lang/rust#116280
* rust-lang/rust#115933
* rust-lang/rust#115546
* rust-lang/rust#115368
* rust-lang/rust#116275
  * rust-lang/rust#116263
  * rust-lang/rust#116241
  * rust-lang/rust#116216
  * rust-lang/rust#116030
  * rust-lang/rust#116024
  * rust-lang/rust#112123
* rust-lang/rust#113301
* rust-lang/rust#113797
* rust-lang/rust#115759
* rust-lang/rust#116260
  * rust-lang/rust#116253
  * rust-lang/rust#116245
  * rust-lang/rust#116239
  * rust-lang/rust#116234
  * rust-lang/rust#116231
  * rust-lang/rust#116201
  * rust-lang/rust#116133
* rust-lang/rust#116176
* rust-lang/rust#116089
* rust-lang/rust#115986

Co-authored-by: bors <bors@rust-lang.org>
Co-authored-by: ouz-a <ouz.agz@gmail.com>
Co-authored-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Co-authored-by: linkmauve <linkmauve@linkmauve.fr>
Co-authored-by: onur-ozkan <work@onurozkan.dev>
Co-authored-by: asquared31415 <34665709+asquared31415@users.noreply.github.com>
Co-authored-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
Co-authored-by: Ralf Jung <post@ralfj.de>
Co-authored-by: Nadrieril <nadrieril+git@gmail.com>
Co-authored-by: Raekye <Raekye@users.noreply.github.com>
Co-authored-by: Mark Rousskov <mark.simulacrum@gmail.com>
Co-authored-by: Zalathar <Zalathar@users.noreply.github.com>
bors-ferrocene bot added a commit to ferrocene/ferrocene that referenced this pull request Oct 9, 2023
23: Fix divergence from upstream `master` r=Dajamante a=pvdrz

* rust-lang/rust#116483
  * rust-lang/rust#116475
  * rust-lang/rust#116329
  * rust-lang/rust#116198
  * rust-lang/rust#115588
  * rust-lang/rust#115522
  * rust-lang/rust#115454
* rust-lang/rust#111595
* rust-lang/rust#116018
* rust-lang/rust#116472
  * rust-lang/rust#116469
  * rust-lang/rust#116421
* rust-lang/rust#116463
* rust-lang/rust#101150
* rust-lang/rust#116269
* rust-lang/rust#116417
* rust-lang/rust#116455
  * rust-lang/rust#116452
  * rust-lang/rust#116428
  * rust-lang/rust#116415
  * rust-lang/rust#116288
  * rust-lang/rust#116220
* rust-lang/rust#103046
* rust-lang/rust#114042
* rust-lang/rust#104153
* rust-lang/rust#116427
* rust-lang/rust#116443
  * rust-lang/rust#116432
  * rust-lang/rust#116431
  * rust-lang/rust#116429
  * rust-lang/rust#116296
  * rust-lang/rust#116223
* rust-lang/rust#116273
* rust-lang/rust#116184
* rust-lang/rust#116370
* rust-lang/rust#114417
* rust-lang/rust#115200
* rust-lang/rust#116413
* rust-lang/rust#116381
* rust-lang/rust#116360
* rust-lang/rust#116353
* rust-lang/rust#116406
* rust-lang/rust#116408
  * rust-lang/rust#116395
  * rust-lang/rust#116393
  * rust-lang/rust#116388
  * rust-lang/rust#116365
  * rust-lang/rust#116363
  * rust-lang/rust#116146
  * rust-lang/rust#115961
* rust-lang/rust#116386
* rust-lang/rust#116367
* rust-lang/rust#105394
* rust-lang/rust#115301
* rust-lang/rust#116384
  * rust-lang/rust#116379
  * rust-lang/rust#116328
  * rust-lang/rust#116282
  * rust-lang/rust#116261
  * rust-lang/rust#114654
* rust-lang/rust#116376
  * rust-lang/rust#116374
  * rust-lang/rust#116371
  * rust-lang/rust#116358
  * rust-lang/rust#116210
  * rust-lang/rust#115863
* rust-lang/rust#115025
* rust-lang/rust#116372
  * rust-lang/rust#116361
  * rust-lang/rust#116355
  * rust-lang/rust#116351
  * rust-lang/rust#116158
  * rust-lang/rust#115726
  * rust-lang/rust#113053
* rust-lang/rust#116083
* rust-lang/rust#102099
* rust-lang/rust#116356
  * rust-lang/rust#116350
  * rust-lang/rust#116349
  * rust-lang/rust#116289
  * rust-lang/rust#114454
  * rust-lang/rust#114453
* rust-lang/rust#116331
* rust-lang/rust#116346
  * rust-lang/rust#116340
  * rust-lang/rust#116326
  * rust-lang/rust#116313
* rust-lang/rust#116276
* rust-lang/rust#115898
* rust-lang/rust#116325
* rust-lang/rust#116317
* rust-lang/rust#116207
* rust-lang/rust#116281
* rust-lang/rust#116304
* rust-lang/rust#116259
* rust-lang/rust#116228
* rust-lang/rust#116224
* rust-lang/rust#115554
* rust-lang/rust#116311
  * rust-lang/rust#116299
  * rust-lang/rust#116295
  * rust-lang/rust#116292
* rust-lang/rust#116307
* rust-lang/rust#115670
* rust-lang/rust#116225
* rust-lang/rust#116302
* rust-lang/rust#116108
* rust-lang/rust#116160
* rust-lang/rust#116157
* rust-lang/rust#116127
* rust-lang/rust#116286
* rust-lang/rust#116254
* rust-lang/rust#116195
* rust-lang/rust#116280
* rust-lang/rust#115933
* rust-lang/rust#115546
* rust-lang/rust#115368
* rust-lang/rust#116275
  * rust-lang/rust#116263
  * rust-lang/rust#116241
  * rust-lang/rust#116216
  * rust-lang/rust#116030
  * rust-lang/rust#116024
  * rust-lang/rust#112123
* rust-lang/rust#113301
* rust-lang/rust#113797
* rust-lang/rust#115759
* rust-lang/rust#116260
  * rust-lang/rust#116253
  * rust-lang/rust#116245
  * rust-lang/rust#116239
  * rust-lang/rust#116234
  * rust-lang/rust#116231
  * rust-lang/rust#116201
  * rust-lang/rust#116133
* rust-lang/rust#116176
* rust-lang/rust#116089
* rust-lang/rust#115986

35: Automated pull from `rust-lang/libc` r=pietroalbini a=github-actions[bot]

This PR pulls the following changes from the [`rust-lang/libc`](https://github.com/rust-lang/libc) repository:

* rust-lang/libc#3335
* rust-lang/libc#3373
* rust-lang/libc#3360
* rust-lang/libc#3374
* rust-lang/libc#3375
* rust-lang/libc#3376
* rust-lang/libc#3377


Co-authored-by: ouz-a <ouz.agz@gmail.com>
Co-authored-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Co-authored-by: bors <bors@rust-lang.org>
Co-authored-by: linkmauve <linkmauve@linkmauve.fr>
Co-authored-by: onur-ozkan <work@onurozkan.dev>
Co-authored-by: asquared31415 <34665709+asquared31415@users.noreply.github.com>
Co-authored-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
Co-authored-by: Ralf Jung <post@ralfj.de>
Co-authored-by: Nadrieril <nadrieril+git@gmail.com>
Co-authored-by: Raekye <Raekye@users.noreply.github.com>
Co-authored-by: Mark Rousskov <mark.simulacrum@gmail.com>
Co-authored-by: Zalathar <Zalathar@users.noreply.github.com>
Co-authored-by: Nikolay Arhipov <nikolajs.arhipovs@gmail.com>
Co-authored-by: Brian Cain <bcain@quicinc.com>
Co-authored-by: Steve Lau <stevelauc@outlook.com>
Co-authored-by: David CARLIER <devnexen@gmail.com>
Co-authored-by: Louis Dupré Bertoni <louisdb@lespetitspedestres.org>
Co-authored-by: Taiki Endo <te316e89@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@lqd
Copy link
Member

lqd commented Nov 16, 2023

#115759 is now on stable, and this PR fixed its unintended regressions. However, we missed its beta backport back then.

Some of the fixed regressions that were not using unstable code, like #116333, were not tracked as beta regressions either, and are now stable regressions, like #117976.

So let's nominate this PR for a stable backport.

@lqd lqd added the stable-nominated Nominated for backporting to the compiler in the stable channel. label Nov 16, 2023
@lqd
Copy link
Member

lqd commented Nov 22, 2023

As discussed in https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Week.2047.3A.20stable.20.2B.20beta.20backports this looks safe enough for a backport. The fix looks good and no issues have been opened about it. This PR fixes ICEs encountered in popular projects but not widely throughout the ecosystem as of this writing, and while not critical they are annoying.

@rustbot label +stable-accepted

@rustbot rustbot added the stable-accepted Accepted for backporting to the compiler in the stable channel. label Nov 22, 2023
@lqd lqd mentioned this pull request Nov 22, 2023
@Mark-Simulacrum
Copy link
Member

This PR does not appear to backport cleanly onto the stable branch -- the compiler/rustc_mir_transform/src/add_subtyping_projections.rs file seems to not be present on stable?

It looks like we'd need to backport #115025 as well, which I believe makes the merge mostly clean (running some tests now).

bors added a commit to rust-lang-ci/rust that referenced this pull request Dec 4, 2023
…Simulacrum

[stable] 1.74.1 release

This includes backports of:

*  Dispose llvm::TargetMachines prior to llvm::Context being disposed rust-lang#118464
*  clarify fn discriminant guarantees: only free lifetimes may get erased rust-lang#118006
*  Move subtyper below reveal_all and change reveal_all rust-lang#116415
   *  Make subtyping explicit in MIR rust-lang#115025 (needed for above)

As well as infrastructure fix:

*  Don't ask for a specific branch in cargotest rust-lang#118597

r? `@Mark-Simulacrum`
@cuviper cuviper modified the milestones: 1.75.0, 1.74.1 Dec 8, 2023
@cuviper cuviper removed the stable-nominated Nominated for backporting to the compiler in the stable channel. label Dec 8, 2023
@aDotInTheVoid aDotInTheVoid removed their request for review December 10, 2023 02:32
wip-sync pushed a commit to NetBSD/pkgsrc-wip that referenced this pull request Dec 12, 2023
pkgsrc changes:
 * remove NetBSD-8 support (embedded LLVM requires newer C++
   than what is in -8; it's conceivable that this could still
   build with an external LLVM)
 * undo powerpc 9.0 file naming tweak

Upstream changes:

Version 1.74.1 (2023-12-07)
===========================

- [Resolved spurious STATUS_ACCESS_VIOLATIONs in LLVM]
  (rust-lang/rust#118464)
- [Clarify guarantees for std::mem::discriminant]
  (rust-lang/rust#118006)
- [Fix some subtyping-related regressions]
  (rust-lang/rust#116415)
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Jan 8, 2024
Pkgsrc changes:

 * Remove NetBSD-8 support (embedded LLVm requires newer C++
   than what is in -8; it's conceivable that this could still
   build with an external LLVM)
 * undo powerpc 9.0 file naming tweak, since we no longer support -8.
 * Remove patch to LLVM for powerpc now included by upstream.
 * Minor adjustments, checksum changes etc.


Upstream changes:

Version 1.74.1 (2023-12-07)
===========================

- [Resolved spurious STATUS_ACCESS_VIOLATIONs in LLVM]
  (rust-lang/rust#118464)
- [Clarify guarantees for std::mem::discriminant]
  (rust-lang/rust#118006)
- [Fix some subtyping-related regressions]
  (rust-lang/rust#116415)

Version 1.74.0 (2023-11-16)
==========================

Language
--------

- [Codify that `std::mem::Discriminant<T>` does not depend on any
  lifetimes in T]
  (rust-lang/rust#104299)
- [Replace `private_in_public` lint with `private_interfaces` and
  `private_bounds` per RFC 2145]
  (rust-lang/rust#113126)
  Read more in
  [RFC 2145](https://rust-lang.github.io/rfcs/2145-type-privacy.html).
- [Allow explicit `#[repr(Rust)]`]
  (rust-lang/rust#114201)
- [closure field capturing: don't depend on alignment of packed fields]
  (rust-lang/rust#115315)
- [Enable MIR-based drop-tracking for `async` blocks]
  (rust-lang/rust#107421)

Compiler
--------

- [stabilize combining +bundle and +whole-archive link modifiers]
  (rust-lang/rust#113301)
- [Stabilize `PATH` option for `--print KIND=PATH`]
  (rust-lang/rust#114183)
- [Enable ASAN/LSAN/TSAN for `*-apple-ios-macabi`]
  (rust-lang/rust#115644)
- [Promote loongarch64-unknown-none* to Tier 2]
  (rust-lang/rust#115368)
- [Add `i686-pc-windows-gnullvm` as a tier 3 target]
  (rust-lang/rust#115687)

Libraries
---------

- [Implement `From<OwnedFd/Handle>` for ChildStdin/out/err]
  (rust-lang/rust#98704)
- [Implement `From<{&,&mut} [T; N]>` for `Vec<T>` where `T: Clone`]
  (rust-lang/rust#111278)
- [impl Step for IP addresses]
  (rust-lang/rust#113748)
- [Implement `From<[T; N]>` for `Rc<[T]>` and `Arc<[T]>`]
  (rust-lang/rust#114041)
- [`impl TryFrom<char> for u16`]
  (rust-lang/rust#114065)
- [Stabilize `io_error_other` feature]
  (rust-lang/rust#115453)
- [Stabilize the `Saturating` type]
  (rust-lang/rust#115477)
- [Stabilize const_transmute_copy]
  (rust-lang/rust#115520)

Stabilized APIs
---------------

- [`core::num::Saturating`]
  (https://doc.rust-lang.org/stable/std/num/struct.Saturating.html)
- [`impl From<io::Stdout> for std::process::Stdio`]
  (https://doc.rust-lang.org/stable/std/process/struct.Stdio.html#impl-From%3CStdout%3E-for-Stdio)
- [`impl From<io::Stderr> for std::process::Stdio`]
  (https://doc.rust-lang.org/stable/std/process/struct.Stdio.html#impl-From%3CStderr%3E-for-Stdio)
- [`impl From<OwnedHandle> for std::process::Child{Stdin, Stdout, Stderr}`]
  (https://doc.rust-lang.org/stable/std/process/struct.Stdio.html#impl-From%3CStderr%3E-for-Stdio)
- [`impl From<OwnedFd> for std::process::Child{Stdin, Stdout, Stderr}`]
  (https://doc.rust-lang.org/stable/std/process/struct.Stdio.html#impl-From%3CStderr%3E-for-Stdio)
- [`std::ffi::OsString::from_encoded_bytes_unchecked`]
  (https://doc.rust-lang.org/stable/std/ffi/struct.OsString.html#method.from_encoded_bytes_unchecked)
- [`std::ffi::OsString::into_encoded_bytes`]
  (https://doc.rust-lang.org/stable/std/ffi/struct.OsString.html#method.into_encoded_bytes)
- [`std::ffi::OsStr::from_encoded_bytes_unchecked`]
  (https://doc.rust-lang.org/stable/std/ffi/struct.OsStr.html#method.from_encoded_bytes_unchecked)
- [`std::ffi::OsStr::as_encoded_bytes`]
  (https://doc.rust-lang.org/stable/std/ffi/struct.OsStr.html#method.as_encoded_bytes)
- [`std::io::Error::other`]
  (https://doc.rust-lang.org/stable/std/io/struct.Error.html#method.other)
- [`impl TryFrom<char> for u16`]
  (https://doc.rust-lang.org/stable/std/primitive.u16.html#impl-TryFrom%3Cchar%3E-for-u16)
- [`impl<T: Clone, const N: usize> From<&[T; N]> for Vec<T>`]
  (https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#impl-From%3C%26%5BT;+N%5D%3E-for-Vec%3CT,+Global%3E)
- [`impl<T: Clone, const N: usize> From<&mut [T; N]> for Vec<T>`]
  (https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#impl-From%3C%26mut+%5BT;+N%5D%3E-for-Vec%3CT,+Global%3E)
- [`impl<T, const N: usize> From<[T; N]> for Arc<[T]>`]
  (https://doc.rust-lang.org/stable/std/sync/struct.Arc.html#impl-From%3C%5BT;+N%5D%3E-for-Arc%3C%5BT%5D,+Global%3E)
- [`impl<T, const N: usize> From<[T; N]> for Rc<[T]>`]
  (https://doc.rust-lang.org/stable/std/rc/struct.Rc.html#impl-From%3C%5BT;+N%5D%3E-for-Rc%3C%5BT%5D,+Global%3E)

These APIs are now stable in const contexts:

- [`core::mem::transmute_copy`]
  (https://doc.rust-lang.org/beta/std/mem/fn.transmute_copy.html)
- [`str::is_ascii`]
  (https://doc.rust-lang.org/beta/std/primitive.str.html#method.is_ascii)
- [`[u8]::is_ascii`]
  (https://doc.rust-lang.org/beta/std/primitive.slice.html#method.is_ascii)

Cargo
-----

- [fix: Set MSRV for internal packages]
  (rust-lang/cargo#12381)
- [config: merge lists in precedence order]
  (rust-lang/cargo#12515)
- [fix(update): Clarify meaning of --aggressive as --recursive]
  (rust-lang/cargo#12544)
- [fix(update): Make `-p` more convenient by being positional]
  (rust-lang/cargo#12545)
- [feat(help): Add styling to help output ]
  (rust-lang/cargo#12578)
- [feat(pkgid): Allow incomplete versions when unambigious]
  (rust-lang/cargo#12614)
- [feat: stabilize credential-process and registry-auth]
  (rust-lang/cargo#12649)
- [feat(cli): Add '-n' to dry-run]
  (rust-lang/cargo#12660)
- [Add support for `target.'cfg(..)'.linker`]
  (rust-lang/cargo#12535)
- [Stabilize `--keep-going`]
  (rust-lang/cargo#12568)
- [feat: Stabilize lints]
  (rust-lang/cargo#12648)

Rustdoc
-------

- [Add warning block support in rustdoc]
  (rust-lang/rust#106561)
- [Accept additional user-defined syntax classes in fenced code blocks]
  (rust-lang/rust#110800)
- [rustdoc-search: add support for type parameters]
  (rust-lang/rust#112725)
- [rustdoc: show inner enum and struct in type definition for concrete type]
  (rust-lang/rust#114855)

Compatibility Notes
-------------------

- [Raise minimum supported Apple OS versions]
  (rust-lang/rust#104385)
- [make Cell::swap panic if the Cells partially overlap]
  (rust-lang/rust#114795)
- [Reject invalid crate names in `--extern`]
  (rust-lang/rust#116001)
- [Don't resolve generic impls that may be shadowed by dyn built-in impls]
  (rust-lang/rust#114941)

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.

None this cycle.
celinval added a commit to celinval/rust-dev that referenced this pull request Jun 4, 2024
Update Rust toolchain from nightly-2023-10-05 to nightly-2023-10-06
without any other source changes.
This is an automatically generated pull request. If any of the CI checks
fail, manual intervention is required. In such a case, review the
changes at https://github.com/rust-lang/rust from
rust-lang@2bbb619
up to
rust-lang@cae0791.
The log for this commit range is:
rust-lang@cae0791da4 Auto merge of
rust-lang#116417 - ouz-a:trait_type_detective, r=compiler-errors
rust-lang@e30d27be00 remove is global
hack
rust-lang@cdca82c2c8 Auto merge of
rust-lang#116455 - matthiaskrgr:rollup-p226a5u, r=matthiaskrgr
rust-lang@76d0b794cb Rollup merge of
rust-lang#116452 - cjgillot:noassert-erased, r=oli-obk
rust-lang@c1c5ab717e Rollup merge of
rust-lang#116428 - Alexendoo:note-duplicate-diagnostics,
r=compiler-errors,estebank
rust-lang@08cc7428d9 Rollup merge of
rust-lang#116415 - ouz-a:move_subtyper, r=oli-obk
rust-lang@b301bd4220 Rollup merge of
rust-lang#116288 - ouz-a:smir_spans, r=spastorino
rust-lang@864e5d8d94 Rollup merge of
rust-lang#116220 - llogiq:stabilize-option-as-slice, r=BurntSushi
rust-lang@3088c4b046 move subtyper change
reveal_all
rust-lang@14c846cb05 Do not assert that
hidden types don't have erased regions.
rust-lang@3bcad65fbf Auto merge of
rust-lang#103046 - JanBeh:PR_clarify_cmp_terminology, r=workingjubilee
rust-lang@cf9fd95b1c Auto merge of
rust-lang#114042 - liushuyu:ubuntu/i586-fpmath, r=workingjubilee
rust-lang@86b031b734 docs: Correct
terminology in std::cmp
rust-lang@90f3a6f920 Auto merge of
rust-lang#104153 - tspiteri:doc-float-constants, r=workingjubilee
rust-lang@5c3a0e932b Auto merge of
rust-lang#116427 - cjgillot:no-internal, r=oli-obk
rust-lang@a49138e46e impl stable for
kinds
rust-lang@a79567b01c add span to
statements
rust-lang@e293927016 Auto merge of
rust-lang#116443 - workingjubilee:rollup-r9mh13f, r=workingjubilee
rust-lang@4a14a80605 Rollup merge of
rust-lang#116432 - notriddle:master, r=fmease
rust-lang@d7b02c3d40 Rollup merge of
rust-lang#116431 - estebank:issue-80476, r=compiler-errors
rust-lang@a9a389cf44 Rollup merge of
rust-lang#116429 - fmease:clean-up-struct-field-suggs, r=compiler-errors
rust-lang@cfce3a919d Rollup merge of
rust-lang#116296 - compiler-errors:default-return, r=estebank
rust-lang@ea3454eabb Rollup merge of
rust-lang#116223 - catandcoder:master, r=cjgillot
rust-lang@5236c8e1fa Auto merge of
rust-lang#116273 - compiler-errors:refine2, r=tmandry
rust-lang@b781645332 Auto merge of
rust-lang#116184 - compiler-errors:afit-lint, r=tmandry
rust-lang@5453a9f34d Add a note to
duplicate diagnostics
rust-lang@afe67fa2ef Auto merge of
rust-lang#116370 - nnethercote:more-arena-stuff, r=cjgillot
rust-lang@2f5249019e Apply suggestions
from code review
rust-lang@dd5f26c42d Fix spans for
comments in rustfmt
rust-lang@1f079cfb44 Point to closure
return instead of output if defaulted
rust-lang@89b14ae212 Fix clippy
rust-lang@137b6d0b01 Point to where
missing return type should go
rust-lang@a46ccd8d3f Add URL to test case
issues
rust-lang@9266270ef5 Rename issue-\d+.rs
tests to have meaningful names
rust-lang@041e54bd92 Tweak wording of
E0562
rust-lang@867cc41b5b clean up struct
field suggestions
rust-lang@a198aff4a4 Add `crate_name` to
test so that it can be renamed
rust-lang@e63d19c4dd Remove
mir::LocalDecl::internal.
rust-lang@f44d116e1f Fix misuses of a vs
an
rust-lang@a2051dd578 Optimize some
`alloc_from_iter` call sites.
rust-lang@816383c60d Remove the
`TypedArena::alloc_from_iter` specialization.
rust-lang@c373d206cd Address review nits
rust-lang@90dfa24415 Only reachable
traits
rust-lang@afea0b4eab Fill in prose to
describe the `async_fn_in_trait` lint
rust-lang@28d58f6524 Bless tests
rust-lang@ec79720c1e Add
async_fn_in_trait lint
rust-lang@999a354a81 add span to
terminator
rust-lang@9130484db9 create localdecl and
add span to it
rust-lang@06d9602d33 Only trigger refine
lint on reachable traits
rust-lang@702da3b89c stabilize
`Option::as_`(`mut_`)`slice`
rust-lang@40a52cf55c core library:
Disable fpmath tests for i386 ...
rust-lang@c953b6c014 doc: expand
description for f32 and f64 associated constants

Co-authored-by: celinval <celinval@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. stable-accepted Accepted for backporting to the compiler in the stable channel. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
9 participants