Kart
Kart
Huh, it seems that `tracing_subscriber` doesn't conduct any checks if the stream it's writing to actually supports color, which seems like an oversight. It just directly uses the `ansi_term` crate...
This seems to be a FIXME. https://github.com/rust-lang/rust-analyzer/blob/634cfe3d72e785c843ca5d412b12be137b2e14fb/crates/ide-diagnostics/src/handlers/inactive_code.rs#L108-L124
List of cases where dimming doesn't work (i.e. basically everything that's not considered to be an "item" on its own) 
Narrowed down the logic for ignoring the assoc items to https://github.com/rust-lang/rust-analyzer/blob/1883d1f14146959cfa9cdf1ed43e5d1ad013e07e/crates/hir-def/src/data.rs#L475-L484
Searching for `is_cfg_enabled` is the way to go for finding places where things are filtered without emitting a diagnostic.
@flodiebold For the plumbing you mentioned, most sub-items are filtered in `hir-def/src/adt`, while inactive diagnostics are emitted in `hir-def/src/nameres/collector` (for inactive module items). Additionally, the diagnostics structs are only available...
Oh right. I'll get to that now.
Done now!
Ping @hamza1311 This RFC is supposed to get accepted before I start a PR for the changes, right? If yes, then what is the procedure?
Blocked on implementing Web Workers first.