chalk
chalk copied to clipboard
Extend Chalk with support for well-known, builtin traits
This is a meta issue for the work of extending chalk to support the various built-in traits like Sized
, Copy
, and so forth.
- [x] Extend
TraitDefn
with concept of "well-known trait" identifier #356 - [x] Add basic support for the
Sized
trait https://github.com/rust-lang/chalk/issues/261 - [x] Add support for a built-in
Copy
trait- In particular,
Copy
has built-in well-formedness requirements required for soundness
- In particular,
- [x] Add support for a built-in
Clone
trait- Impls for tuples, closures are provided by rustc, at least
- [x] Add support for built-in
Fn
traits - [x] Add support for built-in
Unsize
traits - [x] Unpin
- [x] CoerceUnsized
- [ ] DispatchFromDyn
- [x] DiscriminantKind
- [ ] Generator
This issue has been assigned to @Areredify via this comment.
@rustbot claim
I would also say that this issue is fairly 'parallelizable', so if others want to pick up some aspects of it, that's not a problem. e.g. I think we could add code for Copy
and the like. Maybe it's a good idea to break those out into separate issues and write-up some mentoring instructions?
Although they may be somewhat blocked on https://github.com/rust-lang/chalk/pull/371 -- having more details of Rust types would be useful.
So if someone wants to pick it up, I am done with Copy, Drop and Clone (as far as I understood Clone introduces no hard coded impls and/or wf checks?) modulo #371 of course, but it will be easy to address when it comes to it. Going to pick up Unsize next
Im already working on CoerceUnsized
I'll try Unpin