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

Update vtable implementation for upcoming Rust trait upcasting #358

Open
avanhatt opened this issue Jul 23, 2021 · 1 comment
Open

Update vtable implementation for upcoming Rust trait upcasting #358

avanhatt opened this issue Jul 23, 2021 · 1 comment
Assignees
Labels
[C] Feature / Enhancement A new feature request or enhancement to an existing feature. [I] Refactoring / Clean Up Refactoring or cleaning up of existing code

Comments

@avanhatt
Copy link
Contributor

avanhatt commented Jul 23, 2021

Rust has an in-progress proposal to add a trait upcasting coercion feature for dynamic trait objects. This
will allow casting between dynamic trait object types as long as the source type is a subtrait of the destination type.

We'll need to update our implementation as soon as all components of this issue land in Rust. In particular, the construction of vtables and the casting in rvalue.rs will need to handle indirect access through vtable segments.
rust-lang/rust#65991

@avanhatt avanhatt added the [C] Bug This is a bug. Something isn't working. label Jul 23, 2021
@avanhatt avanhatt self-assigned this Jul 23, 2021
@avanhatt
Copy link
Contributor Author

Handling initial support in #345.

@avanhatt avanhatt changed the title Update vtable implementation for initial Rust trait upcasting PR Update vtable implementation for upcoming Rust trait upcasting Jul 26, 2021
@avanhatt avanhatt added Area: compilation [C] Feature / Enhancement A new feature request or enhancement to an existing feature. and removed [C] Bug This is a bug. Something isn't working. labels Jul 27, 2021
@celinval celinval added [I] Refactoring / Clean Up Refactoring or cleaning up of existing code and removed Area: compilation labels Nov 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[C] Feature / Enhancement A new feature request or enhancement to an existing feature. [I] Refactoring / Clean Up Refactoring or cleaning up of existing code
Projects
None yet
Development

No branches or pull requests

2 participants