aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_ty/src/traits/chalk
Commit message (Collapse)AuthorAgeFilesLines
* Update Chalk, and cache Chalk env elaboration through a queryFlorian Diebold2020-04-201-3/+30
| | | | This should fix some of the worst performance problems.
* Nicer display of projections in Chalk logsFlorian Diebold2020-04-131-8/+10
|
* Nicer display of closures in Chalk logsFlorian Diebold2020-04-131-2/+22
|
* Implement Chalk's debug methods using TLSFlorian Diebold2020-04-101-0/+231
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.