You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With #60966, we can avoid lang items and manual path matching for lints, and instead mark them in the code. But I think there are some places that could still be ported to the new system:
The InvalidValue lint uses match_def_path for transmute -- somehow, using a diagnostic item did not work (is_diagnostic_item returns false).
Aren't Rc and Arc lang items just for diagnostics? Here's where they get used:
So, I am not sure if those should be lang items or diagnostic items now? No language semantics is attached to them, the uses above are just in error messages from what I can see.
There's also no language semantics attached to MaybeUninit; it is a lang item because it gets used in layout construction for generators. Doesn't really fit "diagnostics item" either, though. (EDIT: decided this makes more sense to remain a lang item)
With #60966, we can avoid lang items and manual path matching for lints, and instead mark them in the code. But I think there are some places that could still be ported to the new system:
InvalidValuelint usesmatch_def_pathfortransmute-- somehow, using a diagnostic item did not work (is_diagnostic_itemreturns false).RcandArclang items just for diagnostics? Here's where they get used:rust/src/librustc_typeck/check/expr.rs
Lines 879 to 880 in f49f388
And, indirectly, at
rust/src/librustc_mir/borrow_check/error_reporting.rs
Lines 720 to 723 in f49f388
So, I am not sure if those should be lang items or diagnostic items now? No language semantics is attached to them, the uses above are just in error messages from what I can see.
MaybeUninit; it is a lang item because it gets used in layout construction for generators. Doesn't really fit "diagnostics item" either, though. (EDIT: decided this makes more sense to remain a lang item)@oli-obk @Centril any thoughts?