-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Remove TyDesc. #23376
Remove TyDesc. #23376
Conversation
@bors r+ 0f5e56e |
⌛ Testing commit 0f5e56e with merge 32552fb... |
💔 Test failed - auto-mac-64-nopt-t |
I remember specifically running those tests and fixing them, I'll have to investigate. |
_ => { | ||
assert!(type_is_sized(bcx.tcx(), t)); | ||
if bcx.fcx.type_needs_drop(t) && ty::type_is_structural(t) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not my local version (the second part of the condition is gone). I must have forgotten to push it shrug.
☔ The latest upstream changes (presumably #23423) made this pull request unmergeable. Please resolve the merge conflicts. |
…le, be it &Trait or Box<Trait>.
@bors r=nikomatsakis |
📌 Commit e256b7f has been approved by |
Final remnant of reflection is gone. Also, virtual `Trait` destructors are no longer tied to `Box`. That means they can be used to drop any instance of the type (used in libarena to replace TyDesc). This is [breaking-change] for direct users of intrinsics: * use `intrinsics::type_name::<T>()` instead of `(*intrinsics::get_tydesc::<T>()).name` * the only way to get the destructor is from a trait object's vtable (see libarena changes) r? @pcwalton f? @dotdash
Final remnant of reflection is gone. Also, virtual
Trait
destructors are no longer tied toBox
.That means they can be used to drop any instance of the type (used in libarena to replace TyDesc).
This is [breaking-change] for direct users of intrinsics:
intrinsics::type_name::<T>()
instead of(*intrinsics::get_tydesc::<T>()).name
r? @pcwalton f? @dotdash