aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_mbe/src/mbe_expander/matcher.rs
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2020-04-10 14:25:24 +0100
committerGitHub <[email protected]>2020-04-10 14:25:24 +0100
commit0a891d19ae6740c13ddbf8dfaf8b4703d5ca821b (patch)
tree1daf136828992006de9e21784a89b2d14be61b74 /crates/ra_mbe/src/mbe_expander/matcher.rs
parent176f7f61175bc433c56083a758bd7a28a8ae31f8 (diff)
parenta0a80a41034b1240dc3e8fd794ae1d4f77714d99 (diff)
Merge #3748
3748: Implement Chalk's debug methods using TLS r=matklad a=flodiebold Chalk now panics if we don't implement these methods and run with CHALK_DEBUG, so I thought I'd try to implement them 'properly'. Sadly, it seems impossible to do without transmuting lifetimes somewhere. The problem is that we need a `&dyn HirDatabase` to get names etc., which we can't just put into TLS. I thought I could just use `scoped-tls`, but that doesn't support references to unsized types. So I put the `&dyn` into another struct and put the reference to *that* into the TLS, but I have to transmute the lifetime to 'static for that to work. I think this is sound, but I still don't really want to do it this way... Having names in the Chalk debug output is very nice, but maybe IDs will have to suffice :disappointed: Co-authored-by: Florian Diebold <[email protected]>
Diffstat (limited to 'crates/ra_mbe/src/mbe_expander/matcher.rs')
0 files changed, 0 insertions, 0 deletions