Complete move to "diagnostic items" #66075
Labels
C-cleanup
Category: PRs that clean code up or issues documenting cleanup.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
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:
InvalidValue
lint usesmatch_def_path
fortransmute
-- somehow, using a diagnostic item did not work (is_diagnostic_item
returns false).Rc
andArc
lang 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?
The text was updated successfully, but these errors were encountered: