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

Split Rust surface types from type layer types #54

Open
Tracked by #22
nikomatsakis opened this issue Jun 2, 2022 · 2 comments
Open
Tracked by #22

Split Rust surface types from type layer types #54

nikomatsakis opened this issue Jun 2, 2022 · 2 comments
Assignees

Comments

@nikomatsakis
Copy link
Contributor

nikomatsakis commented Jun 2, 2022

Much as we have split out WhereClause (Rust surface level) from the logic layer's notion of goals/clauses, we should split out Rust types that user's write from the surface layer. This shows up in #22 because e.g. fn types like fn(_, &'a T) -> &'static T should have some notion of implied bounds.

@nikomatsakis nikomatsakis mentioned this issue Jun 2, 2022
9 tasks
@nikomatsakis nikomatsakis self-assigned this Jun 2, 2022
@nikomatsakis
Copy link
Contributor Author

Started on this in the user-ty branch. I'm currently just adding a (user-ty ...) function that converts types "in place", might be nicer eventually to move into the grammar.

@nikomatsakis nikomatsakis mentioned this issue Jun 3, 2022
@nikomatsakis
Copy link
Contributor Author

nikomatsakis commented Jun 3, 2022

Now that #56 added user-ty, I think the next step would be to modify the decl layer and the WhereClause to actually just use UserTy instead of Ty, and then do the (user-ty ...) invocations in the various decl metafunctions as well as where-clause->goal and friends. I'm going to hold off on doing that but it would make the code examples much nicer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant