-
Notifications
You must be signed in to change notification settings - Fork 13.1k
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
Revise the kind system #1177
Comments
This was referenced Nov 15, 2011
marijnh
added a commit
that referenced
this issue
Nov 18, 2011
This goes before a snapshot, so that subsequenct patches can make the transition without breaking the build. Disables kind checking pass, makes parser accept both new and old-style kind annotation. Issue #1177
marijnh
added a commit
that referenced
this issue
Nov 18, 2011
This is intended to solve the problem of how to pass arguments to constructor functions -- you want to move in rvalues, but not have to explicitly copy stuff that is not an rvalue. The by-copy passing convention will ensure the callee gets its own copy of the value. For rvalues, it'll just pass off the value. For lvalues, it'll make a copy. Issue #1177
marijnh
added a commit
that referenced
this issue
Nov 18, 2011
Not really useful yet because missing last-use-of-local optimization. Also: instantiation of type parameters needs to be checked. Issue #1177
marijnh
added a commit
that referenced
this issue
Nov 18, 2011
marijnh
added a commit
that referenced
this issue
Nov 18, 2011
marijnh
added a commit
that referenced
this issue
Nov 18, 2011
This involved adding 'copy' to more generics than I hoped, but an experiment with making it implicit showed that that way lies madness -- unless enforced, you will not remember to mark functions that don't copy as not requiring copyable kind. Issue #1177
marijnh
added a commit
that referenced
this issue
Nov 18, 2011
This was referenced Nov 18, 2011
coastalwhite
pushed a commit
to coastalwhite/rust
that referenced
this issue
Aug 5, 2023
celinval
pushed a commit
to celinval/rust-dev
that referenced
this issue
Jun 4, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Discussion in https://mail.mozilla.org/pipermail/rust-dev/2011-November/000922.html . In short, copyability, instead of moveability, will be the defining characteristic of the middle kind. Kinds are now
noncopyable
:>copyable
:>sendable
.The text was updated successfully, but these errors were encountered: