Skip to content

Explain implementation of mem::replace - #117243

Merged
bors merged 1 commit into
rust-lang:masterfrom
chfogelman:replace-not-swap-comment
Oct 27, 2023
Merged

Explain implementation of mem::replace#117243
bors merged 1 commit into
rust-lang:masterfrom
chfogelman:replace-not-swap-comment

Conversation

@chfogelman

Copy link
Copy Markdown
Contributor

This adds a comment to explain why mem::replace is not implemented in terms of mem::swap to prevent naïfs like me from trying to "fix" it.

@rustbot

Copy link
Copy Markdown
Collaborator

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @thomcc (or someone else) soon.

Please see the contribution instructions for more information. Namely, in order to ensure the minimum review times lag, PR authors and assigned reviewers should ensure that the review label (S-waiting-on-review and S-waiting-on-author) stays updated, invoking these commands when appropriate:

  • @rustbot author: the review is finished, PR author should check the comments and take action accordingly
  • @rustbot review: the author is ready for a review, this PR will be queued again in the reviewer's queue

@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Oct 26, 2023
@thomcc

Copy link
Copy Markdown
Member

@bors r+ rollup

@bors

bors commented Oct 26, 2023

Copy link
Copy Markdown
Collaborator

📌 Commit 94ecabf has been approved by thomcc

It is now in the queue for this repository.

@borsbors 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 26, 2023
@workingjubilee

Copy link
Copy Markdown
Member

Thank you!

bors added a commit to rust-lang-ci/rust that referenced this pull request Oct 26, 2023
…iaskrgr
Rollup of 6 pull requests
Successful merges:
- rust-lang#116968 (Invalid `?` suggestion on mismatched `Ok(T)`)
- rust-lang#117032 (Enable cg_clif tests for riscv64gc)
- rust-lang#117106 (When expecting closure argument but finding block provide suggestion)
- rust-lang#117114 (Improve `stringify.rs` test)
- rust-lang#117188 (Avoid repeated interning of `env!("CFG_RELEASE")`)
- rust-lang#117243 (Explain implementation of mem::replace)
r? `@ghost`
`@rustbot` modify labels: rollup
@bors
bors merged commit c0b1c1a into rust-lang:masterOct 27, 2023
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Oct 27, 2023
Rollup merge of rust-lang#117243 - chfogelman:replace-not-swap-comment, r=thomcc
Explain implementation of mem::replace
This adds a comment to explain why `mem::replace` is not implemented in terms of `mem::swap` to prevent [naïfs like me](rust-lang#117189) from trying to "fix" it.
@rustbotrustbot added this to the 1.75.0 milestone Oct 27, 2023
bors-ferroceneBot added a commit to ferrocene/ferrocene that referenced this pull request Oct 31, 2023
74: Automated pull from upstream `master` r=tshepang a=github-actions[bot]
This PR pulls the following changes from the upstream repository:
* rust-lang/rust#117363
* rust-lang/rust#116405
* rust-lang/rust#117415
* rust-lang/rust#117414
* rust-lang/rust#117411
* rust-lang/rust#117403
* rust-lang/rust#117398
* rust-lang/rust#117396
* rust-lang/rust#117389
* rust-lang/rust#116862
* rust-lang/rust#117405
* rust-lang/rust#117395
* rust-lang/rust#117390
* rust-lang/rust#117383
* rust-lang/rust#117376
* rust-lang/rust#117370
* rust-lang/rust#117357
* rust-lang/rust#117356
* rust-lang/rust#117317
* rust-lang/rust#117132
* rust-lang/rust#117068
* rust-lang/rust#112463
* rust-lang/rust#117267
* rust-lang/rust#116939
* rust-lang/rust#117387
* rust-lang/rust#117385
* rust-lang/rust#117382
* rust-lang/rust#117371
* rust-lang/rust#117365
* rust-lang/rust#117350
* rust-lang/rust#117205
* rust-lang/rust#117177
* rust-lang/rust#117147
* rust-lang/rust#116485
* rust-lang/rust#117328
* rust-lang/rust#117332
* rust-lang/rust#117089
* rust-lang/rust#116733
* rust-lang/rust#116889
* rust-lang/rust#116270
* rust-lang/rust#117354
* rust-lang/rust#117337
* rust-lang/rust#117312
* rust-lang/rust#117082
* rust-lang/rust#117043
* rust-lang/rust#115968
* rust-lang/rust#117336
* rust-lang/rust#117325
* rust-lang/rust#117322
* rust-lang/rust#117259
* rust-lang/rust#117170
* rust-lang/rust#117335
* rust-lang/rust#117319
* rust-lang/rust#117316
* rust-lang/rust#117311
* rust-lang/rust#117162
* rust-lang/rust#115773
* rust-lang/rust#116447
* rust-lang/rust#117149
* rust-lang/rust#116240
* rust-lang/rust#117123
* rust-lang/rust#81746
* rust-lang/rust#117038
* rust-lang/rust#116609
* rust-lang/rust#117309
* rust-lang/rust#117277
* rust-lang/rust#117268
* rust-lang/rust#117256
* rust-lang/rust#117025
* rust-lang/rust#116945
* rust-lang/rust#116816
* rust-lang/rust#116739
* rust-lang/rust#116534
* rust-lang/rust#117253
* rust-lang/rust#117302
* rust-lang/rust#117197
* rust-lang/rust#116471
* rust-lang/rust#117294
* rust-lang/rust#117287
* rust-lang/rust#117281
* rust-lang/rust#117270
* rust-lang/rust#117247
* rust-lang/rust#117246
* rust-lang/rust#117212
* rust-lang/rust#116834
* rust-lang/rust#103208
* rust-lang/rust#117166
* rust-lang/rust#116751
* rust-lang/rust#116858
* rust-lang/rust#117272
* rust-lang/rust#117266
* rust-lang/rust#117262
* rust-lang/rust#117241
* rust-lang/rust#117240
* rust-lang/rust#116868
* rust-lang/rust#114998
* rust-lang/rust#116205
* rust-lang/rust#117260
* rust-lang/rust#116035
* rust-lang/rust#113183
* rust-lang/rust#117249
* rust-lang/rust#117243
* rust-lang/rust#117188
* rust-lang/rust#117114
* rust-lang/rust#117106
* rust-lang/rust#117032
* rust-lang/rust#116968
* rust-lang/rust#116581
* rust-lang/rust#117228
* rust-lang/rust#117221
* rust-lang/rust#117214
* rust-lang/rust#117207
* rust-lang/rust#117202
* rust-lang/rust#117194
* rust-lang/rust#117143
* rust-lang/rust#117095
* rust-lang/rust#116905
* rust-lang/rust#117171
* rust-lang/rust#113262
* rust-lang/rust#112875
* rust-lang/rust#116983
* rust-lang/rust#117148
* rust-lang/rust#117115
* rust-lang/rust#116818
* rust-lang/rust#115872
* rust-lang/rust#117193
* rust-lang/rust#117175
* rust-lang/rust#117009
* rust-lang/rust#117008
* rust-lang/rust#116931
* rust-lang/rust#116553
* rust-lang/rust#116401
* rust-lang/rust#117180
* rust-lang/rust#117173
* rust-lang/rust#117163
* rust-lang/rust#117159
* rust-lang/rust#117154
* rust-lang/rust#117152
* rust-lang/rust#117141
* rust-lang/rust#117111
* rust-lang/rust#117172
* rust-lang/rust#117168
* rust-lang/rust#117160
* rust-lang/rust#117158
* rust-lang/rust#117150
* rust-lang/rust#117136
* rust-lang/rust#117133
* rust-lang/rust#116801
* rust-lang/rust#117165
* rust-lang/rust#117113
* rust-lang/rust#117102
* rust-lang/rust#117076
* rust-lang/rust#116236
* rust-lang/rust#116993
* rust-lang/rust#117139
* rust-lang/rust#116482
* rust-lang/rust#115796
* rust-lang/rust#117135
* rust-lang/rust#117127
* rust-lang/rust#117010
* rust-lang/rust#116943
* rust-lang/rust#116841
* rust-lang/rust#116792
* rust-lang/rust#116714
* rust-lang/rust#116396
* rust-lang/rust#116094
* rust-lang/rust#117126
* rust-lang/rust#117105
* rust-lang/rust#117093
* rust-lang/rust#117092
* rust-lang/rust#117091
* rust-lang/rust#117081
* rust-lang/rust#116773
* rust-lang/rust#117124
* rust-lang/rust#116461
* rust-lang/rust#116435
* rust-lang/rust#116319
* rust-lang/rust#116238
* rust-lang/rust#116998
* rust-lang/rust#116300
* rust-lang/rust#117103
* rust-lang/rust#117086
* rust-lang/rust#117074
* rust-lang/rust#117070
* rust-lang/rust#117046
* rust-lang/rust#116859
* rust-lang/rust#107159
* rust-lang/rust#116033
* rust-lang/rust#107009
* rust-lang/rust#117087
* rust-lang/rust#117073
* rust-lang/rust#117064
* rust-lang/rust#117040
* rust-lang/rust#116978
* rust-lang/rust#116960
* rust-lang/rust#116837
* rust-lang/rust#116835
* rust-lang/rust#116849
* rust-lang/rust#117071
* rust-lang/rust#117069
* rust-lang/rust#117051
* rust-lang/rust#117049
* rust-lang/rust#117044
* rust-lang/rust#117042
* rust-lang/rust#105666
* rust-lang/rust#116606
* rust-lang/rust#117066
* rust-lang/rust#115324
* rust-lang/rust#117062
* rust-lang/rust#117000
* rust-lang/rust#117007
* rust-lang/rust#117018
* rust-lang/rust#116256
* rust-lang/rust#117041
* rust-lang/rust#117037
* rust-lang/rust#117034
* rust-lang/rust#116989
* rust-lang/rust#116985
* rust-lang/rust#116950
* rust-lang/rust#116956
* rust-lang/rust#116932
* rust-lang/rust#117031
* rust-lang/rust#117030
* rust-lang/rust#117028
* rust-lang/rust#117026
* rust-lang/rust#116992
* rust-lang/rust#116981
* rust-lang/rust#116955
* rust-lang/rust#116928
* rust-lang/rust#116312
* rust-lang/rust#116368
* rust-lang/rust#116922
* rust-lang/rust#117021
* rust-lang/rust#117020
* rust-lang/rust#117019
* rust-lang/rust#116975
* rust-lang/rust#106601
* rust-lang/rust#116734
* rust-lang/rust#117013
* rust-lang/rust#116995
* rust-lang/rust#116990
* rust-lang/rust#116974
* rust-lang/rust#116964
* rust-lang/rust#116961
* rust-lang/rust#116917
* rust-lang/rust#116911
* rust-lang/rust#114521
* rust-lang/rust#117011
* rust-lang/rust#116958
* rust-lang/rust#116951
* rust-lang/rust#116966
* rust-lang/rust#116965
* rust-lang/rust#116962
* rust-lang/rust#116946
* rust-lang/rust#116899
* rust-lang/rust#116785
* rust-lang/rust#116838
* rust-lang/rust#116875
* rust-lang/rust#116874
* rust-lang/rust#115214
* rust-lang/rust#116810
* rust-lang/rust#116940
* rust-lang/rust#116921
* rust-lang/rust#116906
* rust-lang/rust#116896
* rust-lang/rust#116650
* rust-lang/rust#116132
* rust-lang/rust#116037
* rust-lang/rust#116923
* rust-lang/rust#116912
* rust-lang/rust#116908
* rust-lang/rust#116883
* rust-lang/rust#116829
* rust-lang/rust#116795
* rust-lang/rust#116761
* rust-lang/rust#116663
* rust-lang/rust#114534
* rust-lang/rust#116402
* rust-lang/rust#116493
* rust-lang/rust#116046
* rust-lang/rust#116887
* rust-lang/rust#116885
* rust-lang/rust#116879
* rust-lang/rust#116870
* rust-lang/rust#116865
* rust-lang/rust#116856
* rust-lang/rust#116812
* rust-lang/rust#116815
* rust-lang/rust#116814
* rust-lang/rust#116713
* rust-lang/rust#116830
Co-authored-by: Matthias Krüger <matthias.krueger@famsik.de>
Co-authored-by: antoyo <antoyo@users.noreply.github.com>
Co-authored-by: Antoni Boucher <bouanto@zoho.com>
Co-authored-by: bors <bors@rust-lang.org>
Co-authored-by: Esteban Küber <esteban@kuber.com.ar>
Co-authored-by: Kjetil Kjeka <kjetilkjeka@gmail.com>
Co-authored-by: clubby789 <jamie@hill-daniel.co.uk>
Co-authored-by: okaneco <47607823+okaneco@users.noreply.github.com>
Co-authored-by: David Tolnay <dtolnay@gmail.com>
Co-authored-by: Nadrieril <nadrieril+git@gmail.com>
Co-authored-by: Celina G. Val <celinval@amazon.com>
Co-authored-by: Ralf Jung <post@ralfj.de>
Co-authored-by: Zalathar <Zalathar@users.noreply.github.com>
Co-authored-by: Havard Eidnes <he@NetBSD.org>
Co-authored-by: Jacob Pratt <jacob@jhpratt.dev>
Co-authored-by: Kjetil Kjeka <kjetil@muybridge.com>
bors-ferroceneBot added a commit to ferrocene/ferrocene that referenced this pull request Oct 31, 2023
74: Automated pull from upstream `master` r=tshepang a=github-actions[bot]
This PR pulls the following changes from the upstream repository:
* rust-lang/rust#117363
* rust-lang/rust#116405
* rust-lang/rust#117415
* rust-lang/rust#117414
* rust-lang/rust#117411
* rust-lang/rust#117403
* rust-lang/rust#117398
* rust-lang/rust#117396
* rust-lang/rust#117389
* rust-lang/rust#116862
* rust-lang/rust#117405
* rust-lang/rust#117395
* rust-lang/rust#117390
* rust-lang/rust#117383
* rust-lang/rust#117376
* rust-lang/rust#117370
* rust-lang/rust#117357
* rust-lang/rust#117356
* rust-lang/rust#117317
* rust-lang/rust#117132
* rust-lang/rust#117068
* rust-lang/rust#112463
* rust-lang/rust#117267
* rust-lang/rust#116939
* rust-lang/rust#117387
* rust-lang/rust#117385
* rust-lang/rust#117382
* rust-lang/rust#117371
* rust-lang/rust#117365
* rust-lang/rust#117350
* rust-lang/rust#117205
* rust-lang/rust#117177
* rust-lang/rust#117147
* rust-lang/rust#116485
* rust-lang/rust#117328
* rust-lang/rust#117332
* rust-lang/rust#117089
* rust-lang/rust#116733
* rust-lang/rust#116889
* rust-lang/rust#116270
* rust-lang/rust#117354
* rust-lang/rust#117337
* rust-lang/rust#117312
* rust-lang/rust#117082
* rust-lang/rust#117043
* rust-lang/rust#115968
* rust-lang/rust#117336
* rust-lang/rust#117325
* rust-lang/rust#117322
* rust-lang/rust#117259
* rust-lang/rust#117170
* rust-lang/rust#117335
* rust-lang/rust#117319
* rust-lang/rust#117316
* rust-lang/rust#117311
* rust-lang/rust#117162
* rust-lang/rust#115773
* rust-lang/rust#116447
* rust-lang/rust#117149
* rust-lang/rust#116240
* rust-lang/rust#117123
* rust-lang/rust#81746
* rust-lang/rust#117038
* rust-lang/rust#116609
* rust-lang/rust#117309
* rust-lang/rust#117277
* rust-lang/rust#117268
* rust-lang/rust#117256
* rust-lang/rust#117025
* rust-lang/rust#116945
* rust-lang/rust#116816
* rust-lang/rust#116739
* rust-lang/rust#116534
* rust-lang/rust#117253
* rust-lang/rust#117302
* rust-lang/rust#117197
* rust-lang/rust#116471
* rust-lang/rust#117294
* rust-lang/rust#117287
* rust-lang/rust#117281
* rust-lang/rust#117270
* rust-lang/rust#117247
* rust-lang/rust#117246
* rust-lang/rust#117212
* rust-lang/rust#116834
* rust-lang/rust#103208
* rust-lang/rust#117166
* rust-lang/rust#116751
* rust-lang/rust#116858
* rust-lang/rust#117272
* rust-lang/rust#117266
* rust-lang/rust#117262
* rust-lang/rust#117241
* rust-lang/rust#117240
* rust-lang/rust#116868
* rust-lang/rust#114998
* rust-lang/rust#116205
* rust-lang/rust#117260
* rust-lang/rust#116035
* rust-lang/rust#113183
* rust-lang/rust#117249
* rust-lang/rust#117243
* rust-lang/rust#117188
* rust-lang/rust#117114
* rust-lang/rust#117106
* rust-lang/rust#117032
* rust-lang/rust#116968
* rust-lang/rust#116581
* rust-lang/rust#117228
* rust-lang/rust#117221
* rust-lang/rust#117214
* rust-lang/rust#117207
* rust-lang/rust#117202
* rust-lang/rust#117194
* rust-lang/rust#117143
* rust-lang/rust#117095
* rust-lang/rust#116905
* rust-lang/rust#117171
* rust-lang/rust#113262
* rust-lang/rust#112875
* rust-lang/rust#116983
* rust-lang/rust#117148
* rust-lang/rust#117115
* rust-lang/rust#116818
* rust-lang/rust#115872
* rust-lang/rust#117193
* rust-lang/rust#117175
* rust-lang/rust#117009
* rust-lang/rust#117008
* rust-lang/rust#116931
* rust-lang/rust#116553
* rust-lang/rust#116401
* rust-lang/rust#117180
* rust-lang/rust#117173
* rust-lang/rust#117163
* rust-lang/rust#117159
* rust-lang/rust#117154
* rust-lang/rust#117152
* rust-lang/rust#117141
* rust-lang/rust#117111
* rust-lang/rust#117172
* rust-lang/rust#117168
* rust-lang/rust#117160
* rust-lang/rust#117158
* rust-lang/rust#117150
* rust-lang/rust#117136
* rust-lang/rust#117133
* rust-lang/rust#116801
* rust-lang/rust#117165
* rust-lang/rust#117113
* rust-lang/rust#117102
* rust-lang/rust#117076
* rust-lang/rust#116236
* rust-lang/rust#116993
* rust-lang/rust#117139
* rust-lang/rust#116482
* rust-lang/rust#115796
* rust-lang/rust#117135
* rust-lang/rust#117127
* rust-lang/rust#117010
* rust-lang/rust#116943
* rust-lang/rust#116841
* rust-lang/rust#116792
* rust-lang/rust#116714
* rust-lang/rust#116396
* rust-lang/rust#116094
* rust-lang/rust#117126
* rust-lang/rust#117105
* rust-lang/rust#117093
* rust-lang/rust#117092
* rust-lang/rust#117091
* rust-lang/rust#117081
* rust-lang/rust#116773
* rust-lang/rust#117124
* rust-lang/rust#116461
* rust-lang/rust#116435
* rust-lang/rust#116319
* rust-lang/rust#116238
* rust-lang/rust#116998
* rust-lang/rust#116300
* rust-lang/rust#117103
* rust-lang/rust#117086
* rust-lang/rust#117074
* rust-lang/rust#117070
* rust-lang/rust#117046
* rust-lang/rust#116859
* rust-lang/rust#107159
* rust-lang/rust#116033
* rust-lang/rust#107009
* rust-lang/rust#117087
* rust-lang/rust#117073
* rust-lang/rust#117064
* rust-lang/rust#117040
* rust-lang/rust#116978
* rust-lang/rust#116960
* rust-lang/rust#116837
* rust-lang/rust#116835
* rust-lang/rust#116849
* rust-lang/rust#117071
* rust-lang/rust#117069
* rust-lang/rust#117051
* rust-lang/rust#117049
* rust-lang/rust#117044
* rust-lang/rust#117042
* rust-lang/rust#105666
* rust-lang/rust#116606
* rust-lang/rust#117066
* rust-lang/rust#115324
* rust-lang/rust#117062
* rust-lang/rust#117000
* rust-lang/rust#117007
* rust-lang/rust#117018
* rust-lang/rust#116256
* rust-lang/rust#117041
* rust-lang/rust#117037
* rust-lang/rust#117034
* rust-lang/rust#116989
* rust-lang/rust#116985
* rust-lang/rust#116950
* rust-lang/rust#116956
* rust-lang/rust#116932
* rust-lang/rust#117031
* rust-lang/rust#117030
* rust-lang/rust#117028
* rust-lang/rust#117026
* rust-lang/rust#116992
* rust-lang/rust#116981
* rust-lang/rust#116955
* rust-lang/rust#116928
* rust-lang/rust#116312
* rust-lang/rust#116368
* rust-lang/rust#116922
* rust-lang/rust#117021
* rust-lang/rust#117020
* rust-lang/rust#117019
* rust-lang/rust#116975
* rust-lang/rust#106601
* rust-lang/rust#116734
* rust-lang/rust#117013
* rust-lang/rust#116995
* rust-lang/rust#116990
* rust-lang/rust#116974
* rust-lang/rust#116964
* rust-lang/rust#116961
* rust-lang/rust#116917
* rust-lang/rust#116911
* rust-lang/rust#114521
* rust-lang/rust#117011
* rust-lang/rust#116958
* rust-lang/rust#116951
* rust-lang/rust#116966
* rust-lang/rust#116965
* rust-lang/rust#116962
* rust-lang/rust#116946
* rust-lang/rust#116899
* rust-lang/rust#116785
* rust-lang/rust#116838
* rust-lang/rust#116875
* rust-lang/rust#116874
* rust-lang/rust#115214
* rust-lang/rust#116810
* rust-lang/rust#116940
* rust-lang/rust#116921
* rust-lang/rust#116906
* rust-lang/rust#116896
* rust-lang/rust#116650
* rust-lang/rust#116132
* rust-lang/rust#116037
* rust-lang/rust#116923
* rust-lang/rust#116912
* rust-lang/rust#116908
* rust-lang/rust#116883
* rust-lang/rust#116829
* rust-lang/rust#116795
* rust-lang/rust#116761
* rust-lang/rust#116663
* rust-lang/rust#114534
* rust-lang/rust#116402
* rust-lang/rust#116493
* rust-lang/rust#116046
* rust-lang/rust#116887
* rust-lang/rust#116885
* rust-lang/rust#116879
* rust-lang/rust#116870
* rust-lang/rust#116865
* rust-lang/rust#116856
* rust-lang/rust#116812
* rust-lang/rust#116815
* rust-lang/rust#116814
* rust-lang/rust#116713
* rust-lang/rust#116830
Co-authored-by: antoyo <antoyo@users.noreply.github.com>
Co-authored-by: Antoni Boucher <bouanto@zoho.com>
Co-authored-by: bors <bors@rust-lang.org>
Co-authored-by: Esteban Küber <esteban@kuber.com.ar>
Co-authored-by: Kjetil Kjeka <kjetilkjeka@gmail.com>
Co-authored-by: clubby789 <jamie@hill-daniel.co.uk>
Co-authored-by: okaneco <47607823+okaneco@users.noreply.github.com>
Co-authored-by: David Tolnay <dtolnay@gmail.com>
Co-authored-by: Nadrieril <nadrieril+git@gmail.com>
Co-authored-by: Celina G. Val <celinval@amazon.com>
Co-authored-by: Ralf Jung <post@ralfj.de>
Co-authored-by: Zalathar <Zalathar@users.noreply.github.com>
Co-authored-by: Havard Eidnes <he@NetBSD.org>
Co-authored-by: Jacob Pratt <jacob@jhpratt.dev>
Co-authored-by: Kjetil Kjeka <kjetil@muybridge.com>
Co-authored-by: Matthias Krüger <matthias.krueger@famsik.de>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.T-libsRelevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@chfogelman@rustbot@thomcc@bors@workingjubilee