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

No checkin: overloaded-box protocol changes #22006

Closed
wants to merge 10 commits into from

Conversation

pnkfelix
Copy link
Member

@pnkfelix pnkfelix commented Feb 6, 2015

This is a bootstrapping illustration of the new box prototype. The main point is to illustrate the fallout that occurs with the compiler type inference as it stands today.

(Notably, we do not infer Box<_> for box <expr> in the context of (box <expr> as Box<Trait>), and this weakness is a cause of a lot of the fallout below.)

pnkfelix is trying to see if he can revise vtable::check_object_cast to remove the above limitation, which would let us revert a lot of the fallout below.


see also rust-lang/rfcs#809 (which is not merged as of this writing).

@rust-highfive
Copy link
Collaborator

r? @pcwalton

(rust_highfive has picked a reviewer for you, use r? to override)

@pnkfelix
Copy link
Member Author

pnkfelix commented Feb 6, 2015

cc @nikomatsakis

@pnkfelix
Copy link
Member Author

pnkfelix commented Feb 6, 2015

(much of the above fallout is made unnecessary by #22012. I hope to have a new PR reflecting the improvement up soon.)

@pnkfelix
Copy link
Member Author

pnkfelix commented Feb 8, 2015

closing in favor of #22086, which builds upon #22012 to remove some but not all of the fallout shown in this PR.

@pnkfelix pnkfelix closed this Feb 8, 2015
alexcrichton added a commit to alexcrichton/rust that referenced this pull request Feb 10, 2015
…object-cast

Given `<expr> as Box<Trait>`, infer that `Box<_>` is expected type for `<expr>`.

This is useful for addressing fallout from newly proposed box protocol; see rust-lang#22006 for examples of such fallout, much of which will be unnecessary with this fix.
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.

3 participants