9447: fix: Make unlinked_file diagnostic a hint again r=jonas-schievink a=jonas-schievink
#9255 accidentally turned it into an error
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
9443: internal: Add a simpler legacy macro scoping test r=jonas-schievink a=jonas-schievink
This is a lot simpler to understand and debug than the `plain_macros_are_legacy_textual_scoped` test.
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
9440: Don't implement `Eq` for `CrateGraph` r=kjeremy a=lnicola
This currently seems [incorrect](https://github.com/rust-analyzer/rust-analyzer/pull/8363/files) and doesn't seem that useful, so maybe we can remove it?
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
9436: minor: Add test for macro expanded test module in runnables r=Veykril a=Veykril
Expected this to fail as thats behaving incorrectly on current nightly but I think I fixed this accidentally with https://github.com/rust-analyzer/rust-analyzer/pull/9435
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
9434: Cargo update and pull in the new rowan r=kjeremy a=kjeremy
This brings in the new hashbrown for better compile times.
Co-authored-by: kjeremy <kjeremy@gmail.com>
9269: Recreate status page r=lnicola a=Milo123459
I'm working on redesigning the status page.
Co-authored-by: Milo <50248166+Milo123459@users.noreply.github.com>
9423: fix: Resolve attribute paths in attribute highlighting r=Veykril a=Veykril
Attributes have a new highlighting format now, whereas the `#[` `]` tokens are now tagged with `attribute.attribute` like before, but all other idents inside token trees are now `generic.attribute`. If a path in an attribute can't be resolved it will instead get the `builtinAttribute.attribute` tags now as highlighting doesn't know about builtins like `allow` yet, so we don't want to emit unresolved references.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
9422: fix: Handle `::{self}` imports r=jonas-schievink a=jonas-schievink
These import the preceding segment, but only in type namespace. Previously we've imported the name in all namespaces.
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
9420: fix: Make hover on attribute paths work again r=Veykril a=Veykril
Unfortunately not (yet) unit-testable I believe
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
9418: internal: Include `self` in usage search for modules in their definition source r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
9413: internal: Deduplicate ast expression walking logic r=Veykril a=Veykril
Deduplicates the duplication introduced in #9375 and #9396 while also fixing a few bugs in both the assist and related highlighting.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Macro that deep clone the tokens but otherwise preserves source
locations and hygiene info is an interesting case for IDE support. Lets
have this, although we don't actively use it at the moment.