8935: docs(manual): Add rust-tools.nvim to nvim-lsp r=matklad a=simrat39
I'm not sure what to write there but this seems fine
https://github.com/simrat39/rust-tools.nvim/issues/16
Co-authored-by: sim <simrats169169@gmail.com>
8932: internal: even prettier itemtrees r=jonas-schievink a=jonas-schievink
Extends the ItemTree pretty printer to handle all `Path`s, and to print generic parameters and where-clauses.
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
8926: internal: Drop uncompressed release artifacts and those following the old naming convention r=matklad a=lnicola
Closes#6996
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
8924: Add last remaining module docstring r=flodiebold a=flodiebold
That was easier than expected.
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
8921: Resolve any lifetime variables to 'static after inference r=flodiebold a=flodiebold
Chalk's unification can sometimes create lifetime variables, which we
currently don't really deal with, but at least we don't want to leak
them outside of inference.
Should fix#8919.
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
Chalk's unification can sometimes create lifetime variables, which we
currently don't really deal with, but at least we don't want to leak
them outside of inference.
Should fix#8919.
8901: fix: `fill_match_arms` hangs on a tuple of large enums r=matklad a=iDawer
+ Lazy computation of missing arms.
+ Convenience function to test lazy computation: `ide_assists::tests::check_assist_unresolved`.
Fixes#8835
Co-authored-by: Dawer <7803845+iDawer@users.noreply.github.com>
8916: ItemTree pretty-printing r=jonas-schievink a=jonas-schievink
This adds a printer for `ItemTree` contents, and a few tests to ensure that `ItemTree` lowering works like we expect it to. It also adds a new "Debug ItemTree" command that can be used to see the `ItemTree` of the currently open file. The pretty-printed output is usually close enough to Rust syntax that we can even use Rust syntax highlighting.
This is similar to the old `ItemTree` tests we had, but produces significantly more readable output, so these should actually carry their weight.
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
8856: Use Chalk for unification r=flodiebold a=flodiebold
- use Chalk's unification, get rid of our own `unify`
- rewrite coercion to not use unification internals and to be more analogous to rustc
- fix various coercion bugs
- rewrite handling of obligations, since the old hacky optimization where we noted when an inference variable changes wasn't possible anymore
- stop trying to deeply resolve types all the time during inference, instead only do it shallowly where necessary
Co-authored-by: Florian Diebold <flodiebold@gmail.com>