-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
Description
This is a tracking issue for the multiple_supertrait_upcastable lint.
The feature gate for the issue is #![feature(multiple_supertrait_upcastable)].
To support upcasting with multiple supertraits, we need to store multiple vtables and
this can result in extra space overhead, even if no code actually uses upcasting. This
lint allows users to identify when such scenarios occur and to decide whether the
additional overhead is justified.
About tracking issues
Tracking issues are used to record the overall progress of implementation.
They are also used as hubs connecting to other relevant issues, e.g., bugs or open design questions.
A tracking issue is however not meant for large scale discussion, questions, or bug reports about a feature.
Instead, open a dedicated issue for the specific matter and add the relevant feature gate label.
Discussion comments will get marked as off-topic or deleted.
Repeated discussions on the tracking issue may lead to the tracking issue getting locked.
Steps
- Implement the lint (see implementation history)
- Adjust documentation (see instructions on rustc-dev-guide)
- Style updates for any new syntax (nightly-style-procedure) (no new syntax)
- Stabilization PR (see instructions on rustc-dev-guide)
Unresolved Questions
None yet.
Implementation history
- Implement allow-by-default
multiple_supertrait_upcastablelint #105484 (added as unstable (not internal) but with no tracking issue) - Revert "Implement allow-by-default
multiple_supertrait_upcastablelint" #106248 (revert) - Skip possible where_clause_object_safety lints when checking
multiple_supertrait_upcastable#106253 (reintroduce) - Add tracking issue for
feature(multiple_supertrait_upcastable)#150834 (add tracking issue)