738: Implement lens for impls and support resolving lenses. r=matklad a=kjeremy
Closes#620
Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
Co-authored-by: kjeremy <kjeremy@gmail.com>
736: mbe: Add support matching for matching idents r=jrmuizel a=jrmuizel
Factors out a helper and adds support for matching idents.
Co-authored-by: Jeff Muizelaar <jrmuizel@gmail.com>
727: Fix macro_rules separator parsing. r=matklad a=jrmuizel
macro_rules rules are separated by ';' including an optional ';' at the end
Co-authored-by: Jeff Muizelaar <jrmuizel@gmail.com>
693: Name resolution refactoring r=matklad a=flodiebold
This is still very WIP, but it's becoming quite big and I want to make sure this isn't going in a completely bad direction 😅. I'm not really happy with how the path resolution looks, and I'm not sure `PerNs<Resolution>` is the best return type -- there are 'this cannot happen in the (types/values) namespace' cases everywhere. I also want to unify the `resolver` and `nameres` namespaces once I'm done switching everything to `Resolver`. Also, `Resolver` only has a lifetime because it needs to have a reference to the `ItemMap` during import resolution 😕
The differences in the completion snapshots are almost completely just ordering (except it completes `Self` as well now), so I changed it to sort the completions before snapshotting.
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
722: remove hard-coded support for ctry macro r=matklad a=matklad
It was used mainly to prevent HirFileId infra from bitroting, but the
`vec![]` macro can serve that just as well!
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
721: Go To Implementation for Trait r=matklad a=kjeremy
If on a trait def you can now go to all the impls of that trait in the crate.
This is more of #620.
Co-authored-by: kjeremy <kjeremy@gmail.com>