-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Implement DST #12938
Comments
Update: Nominated. This should probably become a metabug as soon as the sub-bugs are created. |
cc #6308. |
(we usually do not nominate metabugs for assignment to milestones, but DST is a special case so we are making an exception in this case.) P-backcompat-lang, 1.0. |
This is a stopgap until DST (rust-lang#12938) lands. Until DST lands, we cannot decompose &str into & and str, so we cannot usefully take ToCStr arguments by reference (without forcing an additional & around &str). So we are instead temporarily adding an instance for &Path and ~str, so that we can take ToCStr as owned. When DST lands, the &Path instance should be removed, the string instances should be revisted, and arguments bound by ToCStr should be passed by reference. FIXMEs have been added accordingly.
This is a stopgap until DST (rust-lang#12938) lands. Until DST lands, we cannot decompose &str into & and str, so we cannot usefully take ToCStr arguments by reference (without forcing an additional & around &str). So we are instead temporarily adding an instance for &Path and ~str, so that we can take ToCStr as owned. When DST lands, the &Path instance should be removed, the string instances should be revisted, and arguments bound by ToCStr should be passed by reference. FIXMEs have been added accordingly.
Use ty_rptr/ty_uniq(ty_trait) rather than TraitStore to represent trait types. Also addresses (but doesn't close) rust-lang#12470. Part of the work towards DST (rust-lang#12938). [breaking-change] lifetime parameters in `&mut trait` are now invariant. They used to be contravariant.
Do note comment on #14397 (comment) : we may need a new item added to the task list above. |
Nominating for removal from P-backcompat-lang, as I suspect the breaking changes have landed now. |
(waiting for fresh ticket with specific P-backcompat-lang issue to be opened; removing I-nominated for now and leaving everything otherwise unchanged.) |
No longer 1.0 - everything done except #17178 (and an RFC for trait object impls) |
Removing P-backcompat-lang and 1.0 milestone designation, but leaving metabug open. |
#17178 appears to be done now. Would we like to leave this open until we clear out the list of tasks without issues? |
I just added #19187 |
The only outstanding issue here is coercions which have their own issue and are tracked as part of the coercions RFC. Closing. |
update FIXME(rust-lang#6298) to point to open issue 15020 update FIXME(rust-lang#6268) to point to RFC 811 update FIXME(rust-lang#10520) to point to RFC 1751 remove FIXME for emscripten issue 4563 and include target in `test_estimate_scaling_factor` remove FIXME(rust-lang#18207) since node_id isn't used for `ref` pattern analysis remove FIXME(rust-lang#6308) since DST was implemented in rust-lang#12938 remove FIXME(rust-lang#2658) since it was decided to not reorganize module remove FIXME(rust-lang#20590) since it was decided to stay conservative with projection types remove FIXME(rust-lang#20297) since it was decided that solving the issue is unnecessary remove FIXME(rust-lang#27086) since closures do correspond to structs now remove FIXME(rust-lang#13846) and enable `function_sections` for windows remove mention of rust-lang#22079 in FIXME(rust-lang#22079) since this is a general FIXME remove FIXME(rust-lang#5074) since the restriction on borrow were lifted
Fix minor typo changelog: none
Tracking bug for implementing DST (I'll file issues for the intermediate steps).
@nick29581 to implement, @nikomatsakis to write an RFC for the RFC repo.
Nominating 1.0 (I think its already been discussed and agree that this blocks 1.0, if someone could tag this, it would be great).
Sub-bugs:
Sized
kind #13120: Remove theSized
kindSized
bound in collect.rs #13367: Remove hack around requiringSized
bound in collect.rs&[T, ..n]
to&[T]
, etc.&[T]
literals)Sized?
looks like the favouriteTasks which don't yet have issues
&[T]
differently from&([T])
)The text was updated successfully, but these errors were encountered: