Skip to content

Preliminary work for opt-in builtin types #17466

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

Merged
merged 10 commits into from
Sep 25, 2014
Merged

Conversation

nikomatsakis
Copy link
Contributor

Moves the vast majority of builtin bound checking out of type contents and into the trait system.

This is a preliminary step for a lot of follow-on work:

  • opt-in builtin types, obviously
  • generalized where clauses, because TypeContents has this notion that a type parameter has a single set of builtin kinds, but with where clauses it depends on context
  • generalized coherence, because this adds support for recursive trait selection

Unfortunately I wasn't able to completely remove Type Contents from the front-end checking in this PR. It's still used by EUV to decide what gets moved and what doesn't.

r? @pcwalton

@rust-highfive
Copy link
Contributor

warning Warning warning

  • These commits modify unsafe code. Please review it carefully!

obligation.repr(self.tcx()));

// If there is any previous entry on the stack that precisely
// matches this obligation, then we can assume
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

then we can assume…(that the obligation will be satisfied?)

@pcwalton
Copy link
Contributor

r=me with the comments addressed

bors added a commit that referenced this pull request Sep 25, 2014
Moves the vast majority of builtin bound checking out of type contents and into the trait system.

This is a preliminary step for a lot of follow-on work:

- opt-in builtin types, obviously
- generalized where clauses, because TypeContents has this notion that a type parameter has a single set of builtin kinds, but with where clauses it depends on context
- generalized coherence, because this adds support for recursive trait selection

Unfortunately I wasn't able to completely remove Type Contents from the front-end checking in this PR. It's still used by EUV to decide what gets moved and what doesn't.

r? @pcwalton
@bors bors closed this Sep 25, 2014
@bors bors merged commit 6473909 into rust-lang:master Sep 25, 2014
@nikomatsakis nikomatsakis deleted the oibt branch March 30, 2016 16:16
lnicola pushed a commit to lnicola/rust that referenced this pull request Jul 11, 2024
chore: Fix diagnostic name in macro_error.rs
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

Successfully merging this pull request may close these issues.

4 participants