Skip to content
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

Extend Chalk with support for well-known, builtin traits #363

Open
9 of 11 tasks
nikomatsakis opened this issue Mar 27, 2020 · 6 comments
Open
9 of 11 tasks

Extend Chalk with support for well-known, builtin traits #363

nikomatsakis opened this issue Mar 27, 2020 · 6 comments
Assignees
Labels
C-chalk-solve Issues related to the chalk-solve crate

Comments

@nikomatsakis
Copy link
Contributor

nikomatsakis commented Mar 27, 2020

This is a meta issue for the work of extending chalk to support the various built-in traits like Sized, Copy, and so forth.

This issue has been assigned to @Areredify via this comment.

@basil-cow
Copy link
Contributor

@rustbot claim

@rustbot rustbot self-assigned this Apr 7, 2020
@detrumi detrumi assigned basil-cow and unassigned rustbot Apr 7, 2020
@nikomatsakis
Copy link
Contributor Author

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?

@nikomatsakis
Copy link
Contributor Author

Although they may be somewhat blocked on #371 -- having more details of Rust types would be useful.

@basil-cow
Copy link
Contributor

basil-cow commented Apr 7, 2020

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

Aaron1011 added a commit to Aaron1011/chalk that referenced this issue Jun 5, 2020
Works towards rust-lang#363

I've followed the approach taken by rustc, where `FnOnce` has single
generic argument: the tupled function parameters
(e.g. `fn(u8, bool): FnOnce<(u8, bool)>`).

I also extended the grammar to allow functions to take more than one
argument.

I've left `Fn` and `FnMut` for a separate PR - without a representation
of closures in Chalk, they are not very useful.
Aaron1011 added a commit to Aaron1011/chalk that referenced this issue Jun 5, 2020
Works towards rust-lang#363

I've followed the approach taken by rustc, where `FnOnce` has single
generic argument: the tupled function parameters
(e.g. `fn(u8, bool): FnOnce<(u8, bool)>`).

I also extended the grammar to allow functions to take more than one
argument.

I've left `Fn` and `FnMut` for a separate PR - without a representation
of closures in Chalk, they are not very useful.
Aaron1011 added a commit to Aaron1011/chalk that referenced this issue Jun 7, 2020
Works towards rust-lang#363

I've followed the approach taken by rustc, where `FnOnce` has single
generic argument: the tupled function parameters
(e.g. `fn(u8, bool): FnOnce<(u8, bool)>`).

I also extended the grammar to allow functions to take more than one
argument.

I've left `Fn` and `FnMut` for a separate PR - without a representation
of closures in Chalk, they are not very useful.
Aaron1011 added a commit to Aaron1011/chalk that referenced this issue Jun 7, 2020
Works towards rust-lang#363

I've followed the approach taken by rustc, where `FnOnce` has single
generic argument: the tupled function parameters
(e.g. `fn(u8, bool): FnOnce<(u8, bool)>`).

I also extended the grammar to allow functions to take more than one
argument.

I've left `Fn` and `FnMut` for a separate PR - without a representation
of closures in Chalk, they are not very useful.
nathanwhit pushed a commit to nathanwhit/chalk that referenced this issue Jun 9, 2020
Works towards rust-lang#363

I've followed the approach taken by rustc, where `FnOnce` has single
generic argument: the tupled function parameters
(e.g. `fn(u8, bool): FnOnce<(u8, bool)>`).

I also extended the grammar to allow functions to take more than one
argument.

I've left `Fn` and `FnMut` for a separate PR - without a representation
of closures in Chalk, they are not very useful.
@basil-cow
Copy link
Contributor

Im already working on CoerceUnsized

@memoryleak47
Copy link
Contributor

I'll try Unpin

bors added a commit that referenced this issue Sep 9, 2020
Extend well-known traits by Unpin

I read the RFC and didn't find any special rules concerning Unpin, so this one is rather straight-forward. Correct me if I missed something!
cc #363
@jackh726 jackh726 added the C-chalk-solve Issues related to the chalk-solve crate label Dec 11, 2020
bors added a commit that referenced this issue Feb 11, 2021
add Movability to Generator

pretty straightforward

closes #618
cc #363
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-chalk-solve Issues related to the chalk-solve crate
Projects
None yet
Development

No branches or pull requests

5 participants