-
Notifications
You must be signed in to change notification settings - Fork 13k
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
Interface narrowings don't yet work #115
Comments
The mechanism I have sketched but only partly implemented for this would be 'let base b = d as base;', but it doesn't work yet. Most of the machinery is there, it's just incomplete. When you say "an explicit cast crashes the compiler", what notation were you using for this? |
I was trying |
Shifted to rustc. |
What's the status of this issue with regard to the current state of rustc and the object system? |
Just pushed an xfail'd test for this issue. The error we're getting now is:
I'm un-assigning myself from this one and marking it as unassigned since, realistically speaking, I don't think I'll have time to handle it in the next four days. It's up for grabs... |
…st attempted in issue rust-lang#115, downgrade bug to an err in type.ml so you get a better message.
Objs are gone. Closing. |
fix turning function items into closure trait objects
* Add _mm_store* intrinsics and _mm_move_ss * Fix Win64 & Linux i586 failures * Make i586 codegen happy without breaking x86_64
Add missing unsafe features
Correctly import foreign statics
These are safety abstractions that are auto-generated via script. Add minimum contract for now. Note: I tried adding a slightly tighter post-condition, but Kani takes a long time to solve them. This may be an interesting test for other tools later.
Currently:
fails to compile with:
Adding an explicit cast to base crashes the compiler. The rust docs say "Such a “plain” object type can be used to describe an interface that a variety of particular objects may conform to, by supporting a superset of the methods." so I'd expect the implicit conversion to work. (On the other hand, then "any" is just "obj {}", and Graydon has said he doesn't want an implicit conversion to "any".)
The text was updated successfully, but these errors were encountered: