-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Tracking issue for ergonomic reference counting #132290
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
Labels
C-tracking-issue
Category: An issue tracking the progress of sth. like the implementation of an RFC
F-ergonomic_clones
`#![feature(ergonomic_clones)]`
T-lang
Relevant to the language team, which will review and decide on the PR/issue.
Comments
This feature gate name (ed: Also, it's literally not syntactical. Feature gates need to have valid identifiers as names. |
Sounds good to me. @rustbot labels +F-ergonomic_clones |
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Mar 7, 2025
…1, r=nikomatsakis Ergonomic ref counting This is an experimental first version of ergonomic ref counting. This first version implements most of the RFC but doesn't implement any of the optimizations. This was left for following iterations. RFC: rust-lang/rfcs#3680 Tracking issue: rust-lang#132290 Project goal: rust-lang/rust-project-goals#107 r? `@nikomatsakis`
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Mar 7, 2025
…1, r=nikomatsakis Ergonomic ref counting This is an experimental first version of ergonomic ref counting. This first version implements most of the RFC but doesn't implement any of the optimizations. This was left for following iterations. RFC: rust-lang/rfcs#3680 Tracking issue: rust-lang#132290 Project goal: rust-lang/rust-project-goals#107 r? ``@nikomatsakis``
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Mar 7, 2025
…1, r=nikomatsakis Ergonomic ref counting This is an experimental first version of ergonomic ref counting. This first version implements most of the RFC but doesn't implement any of the optimizations. This was left for following iterations. RFC: rust-lang/rfcs#3680 Tracking issue: rust-lang#132290 Project goal: rust-lang/rust-project-goals#107 r? ```@nikomatsakis```
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this issue
Mar 7, 2025
Rollup merge of rust-lang#134797 - spastorino:ergonomic-ref-counting-1, r=nikomatsakis Ergonomic ref counting This is an experimental first version of ergonomic ref counting. This first version implements most of the RFC but doesn't implement any of the optimizations. This was left for following iterations. RFC: rust-lang/rfcs#3680 Tracking issue: rust-lang#132290 Project goal: rust-lang/rust-project-goals#107 r? ```@nikomatsakis```
github-actions bot
pushed a commit
to model-checking/verify-rust-std
that referenced
this issue
Mar 14, 2025
…1, r=nikomatsakis Ergonomic ref counting This is an experimental first version of ergonomic ref counting. This first version implements most of the RFC but doesn't implement any of the optimizations. This was left for following iterations. RFC: rust-lang/rfcs#3680 Tracking issue: rust-lang#132290 Project goal: rust-lang/rust-project-goals#107 r? ```@nikomatsakis```
mohe2015
pushed a commit
to tucant/rustfmt
that referenced
this issue
Mar 16, 2025
…matsakis Ergonomic ref counting This is an experimental first version of ergonomic ref counting. This first version implements most of the RFC but doesn't implement any of the optimizations. This was left for following iterations. RFC: rust-lang/rfcs#3680 Tracking issue: rust-lang/rust#132290 Project goal: rust-lang/rust-project-goals#107 r? ```@nikomatsakis```
flip1995
pushed a commit
to flip1995/rust-clippy
that referenced
this issue
Mar 20, 2025
…matsakis Ergonomic ref counting This is an experimental first version of ergonomic ref counting. This first version implements most of the RFC but doesn't implement any of the optimizations. This was left for following iterations. RFC: rust-lang/rfcs#3680 Tracking issue: rust-lang/rust#132290 Project goal: rust-lang/rust-project-goals#107 r? ```@nikomatsakis```
bors
added a commit
to rust-lang-ci/rust
that referenced
this issue
Apr 1, 2025
… r=<try> Ergonomic ref counting: optimize away clones when possible This PR build on top of rust-lang#134797. It optimizes codegen of ergonomic ref-counting when the type being `use`d is only known to be copy after monomorphization. We avoid codening a clone and generate bitwise copy instead. RFC: rust-lang/rfcs#3680 Tracking issue: rust-lang#132290 Project goal: rust-lang/rust-project-goals#107 r? `@nikomatsakis` This PR could better sit on top of rust-lang#131650 but as it did not land yet I've decided to just do minimal changes. It may be the case that doing what I'm doing regress the performance and we may need to go the full route of rust-lang#131650. cc `@saethlin` in this regard.
bors
added a commit
to rust-lang-ci/rust
that referenced
this issue
Apr 7, 2025
… r=<try> Ergonomic ref counting: optimize away clones when possible This PR build on top of rust-lang#134797. It optimizes codegen of ergonomic ref-counting when the type being `use`d is only known to be copy after monomorphization. We avoid codening a clone and generate bitwise copy instead. RFC: rust-lang/rfcs#3680 Tracking issue: rust-lang#132290 Project goal: rust-lang/rust-project-goals#107 r? `@nikomatsakis` This PR could better sit on top of rust-lang#131650 but as it did not land yet I've decided to just do minimal changes. It may be the case that doing what I'm doing regress the performance and we may need to go the full route of rust-lang#131650. cc `@saethlin` in this regard.
bors
added a commit
to rust-lang-ci/rust
that referenced
this issue
Apr 10, 2025
… r=nikomatsakis Ergonomic ref counting: optimize away clones when possible This PR build on top of rust-lang#134797. It optimizes codegen of ergonomic ref-counting when the type being `use`d is only known to be copy after monomorphization. We avoid codening a clone and generate bitwise copy instead. RFC: rust-lang/rfcs#3680 Tracking issue: rust-lang#132290 Project goal: rust-lang/rust-project-goals#107 r? `@nikomatsakis` This PR could better sit on top of rust-lang#131650 but as it did not land yet I've decided to just do minimal changes. It may be the case that doing what I'm doing regress the performance and we may need to go the full route of rust-lang#131650. cc `@saethlin` in this regard.
github-merge-queue bot
pushed a commit
to rust-lang/miri
that referenced
this issue
Apr 10, 2025
…tsakis Ergonomic ref counting: optimize away clones when possible This PR build on top of rust-lang/rust#134797. It optimizes codegen of ergonomic ref-counting when the type being `use`d is only known to be copy after monomorphization. We avoid codening a clone and generate bitwise copy instead. RFC: rust-lang/rfcs#3680 Tracking issue: rust-lang/rust#132290 Project goal: rust-lang/rust-project-goals#107 r? `@nikomatsakis` This PR could better sit on top of rust-lang/rust#131650 but as it did not land yet I've decided to just do minimal changes. It may be the case that doing what I'm doing regress the performance and we may need to go the full route of rust-lang/rust#131650. cc `@saethlin` in this regard.
github-actions bot
pushed a commit
to rust-lang/rustc-dev-guide
that referenced
this issue
Apr 14, 2025
…tsakis Ergonomic ref counting: optimize away clones when possible This PR build on top of rust-lang/rust#134797. It optimizes codegen of ergonomic ref-counting when the type being `use`d is only known to be copy after monomorphization. We avoid codening a clone and generate bitwise copy instead. RFC: rust-lang/rfcs#3680 Tracking issue: rust-lang/rust#132290 Project goal: rust-lang/rust-project-goals#107 r? `@nikomatsakis` This PR could better sit on top of rust-lang/rust#131650 but as it did not land yet I've decided to just do minimal changes. It may be the case that doing what I'm doing regress the performance and we may need to go the full route of rust-lang/rust#131650. cc `@saethlin` in this regard.
lnicola
pushed a commit
to lnicola/rust-analyzer
that referenced
this issue
Apr 28, 2025
…tsakis Ergonomic ref counting: optimize away clones when possible This PR build on top of rust-lang/rust#134797. It optimizes codegen of ergonomic ref-counting when the type being `use`d is only known to be copy after monomorphization. We avoid codening a clone and generate bitwise copy instead. RFC: rust-lang/rfcs#3680 Tracking issue: rust-lang/rust#132290 Project goal: rust-lang/rust-project-goals#107 r? `@nikomatsakis` This PR could better sit on top of rust-lang/rust#131650 but as it did not land yet I've decided to just do minimal changes. It may be the case that doing what I'm doing regress the performance and we may need to go the full route of rust-lang/rust#131650. cc `@saethlin` in this regard.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
C-tracking-issue
Category: An issue tracking the progress of sth. like the implementation of an RFC
F-ergonomic_clones
`#![feature(ergonomic_clones)]`
T-lang
Relevant to the language team, which will review and decide on the PR/issue.
This is a tracking issue for ergonomic reference counting, including:
...and other work.
The feature gate for this issue is
#![feature(ergonomic_clones)]
.About tracking issues
Tracking issues are used to record the overall progress of implementation. They are also used as hubs connecting to other relevant issues, e.g., bugs or open design questions. A tracking issue is however not meant for large scale discussion, questions, or bug reports about a feature. Instead, open a dedicated issue for the specific matter and add the relevant feature gate label.
Steps
use
closures #138101use
expressions? unsafe-code-guidelines#564)Unresolved Questions
UseCloned
trait which signalsx.use
toclone
UseCloned
impls -- in particular any blanket impls we ought to be concerned about?x.use
work on!Clone
types? Currently the impl just generates a moveRelated
cc @spastorino @jkelleyrtp @rust-lang/lang
The text was updated successfully, but these errors were encountered: