Skip to content

Implement DST #12938

Closed
Closed
@nrc

Description

@nrc

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:

Tasks which don't yet have issues

  • Add fat pointers to trans
  • Indexing into fat pointer types in trans
  • remove all the hackey support for old behaviour (where we treat &[T] differently from &([T]))
  • structs
  • recursive coercions (pointers in structs) - needs some design work (DST/custom coercions #18598, part of Implement revised coercion rules #18469)
  • strings (but can only be instantiated using transmute)
  • traits
  • use DST coercions for receiver when doing trait/method search (leaving this till post- NIko's cleanup of everything trait related, if we want to do it at all).
  • properly deal with type aliases which are traits (i.e., accept them everywhere a trait is accepted). I don't actually think there is anything legitimate to do here - type = Trait... works and can be used anywhere a trait type could be used. It would be wrong to use a type, even an alias to a trait type where a trait is expected

Metadata

Metadata

Assignees

Labels

metabugIssues about issues themselves ("bugs about bugs")

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions