6597: Upgrade Chalk r=flodiebold a=flodiebold
Also make overflow depth and max type size configurable through env variables. This can be helpful at least for debugging.
Tests currently fail because of rust-lang/chalk#656, so we'll need to wait for the next update to merge this.
Co-authored-by: Florian Diebold <florian.diebold@freiheit.com>
6733: Update attributes completion list r=jonas-schievink a=Veykril
Might be nice to have them grouped for readability/maintainability similar to how the [reference](https://doc.rust-lang.org/reference/attributes.html#built-in-attributes-index) does it but that would require the use of a `OnceCell` for sorting the entries back after construction.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
6725: Don't respawn proc macro server on crash r=jonas-schievink a=jonas-schievink
Now the thread managing IPC will exit when the server process crashes instead of respawning it.
Closes https://github.com/rust-analyzer/rust-analyzer/issues/6707
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
6724: Fix `diagnostics` subcommand, look at all modules r=jonas-schievink a=jonas-schievink
The `diagnostics` subcommand used to only compute diagnostics for `lib.rs` / the root module of all workspace crates. This fixed it and makes it look at every module.
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
6723: Use correct, full substs for self type in impl r=flodiebold a=flodiebold
Without arbitrary self types, the self type could never refer to the method type parameters, so this wasn't a problem; but with arbitrary self types, it can.
This fixes the crash from #6668; but it doesn't make method resolution work for these methods.
Co-authored-by: Florian Diebold <florian.diebold@freiheit.com>
Without arbitrary self types, the self type could never refer to the method type
parameters, so this wasn't a problem; but with arbitrary self types, it can.
This fixes the crash from #6668; but it doesn't make method resolution work for
these methods.
6713: Make `compile_error!` message match upstream rustc r=jonas-schievink a=jonas-schievink
It only consists of the argument passed to it.
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
6712: Fix proc macro token mapping r=jonas-schievink a=jonas-schievink
Diagnostics inside proc macros are currently incorrectly placed at their original offset, but inside the containing file. This fixes that, by allowing the creation of `ExpansionInfo` from non-`macro_rules!` macro invocations.
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
6700: More macro diagnostics improvements r=jonas-schievink a=jonas-schievink
This threads macro expansion errors through `eager.rs` and the `AsMacroCall` trait, improving macro diagnostics emitted during body lowering.
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
6701: Don't prime caches when just opening a file r=jonas-schievink a=jonas-schievink
Fixes occasional "progress handler already registered" errors.
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>