9355: Don't insert `}` when typing `{` in string r=jonas-schievink a=jonas-schievink
Checks that the token at the cursor is `L_CURLY`.
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/9351
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
9347: add note about passing cfg(debug_assertions) r=matklad a=rezural
add note about passing cfg(debug_assertions) to rustc on build. The server will not spin on start without this arcane hack
Co-authored-by: rezural <69941255+rezural@users.noreply.github.com>
9346: Refactor / clean up hir_ty tests r=flodiebold a=flodiebold
Notable changes:
- unify `check_types` and `check_mismatches` into `check`, which supports both kinds of annotations (`check_types` still exists because I didn't want to change all the annotations, but uses the same implementation)
- because of that, `check_types` now fails on any type mismatches; also annotations always have to hit the exact range
- there's also `check_no_mismatches` for when we explicitly just want to check that there are no type mismatches without giving any annotations (`check` will fail without annotations)
- test annotations can now be overlapping (they point to the nearest line that has actual code in that range):
```
// ^^^^ annotation
// ^^^^^^^^^ another annotation
```
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
If you are opening libcore from rust-lang/rust as opposed to e.g.
goto definition from some other crate which would use the sysroot
instance of libcore, a `#![cfg(not(test))]` would previously have made
all the code excluded from the module tree, breaking the editor
experience.
This puts in a slight hack that checks for the crate name "core" and
turns off `#[cfg(test)]`.
9334: feat: Allow to disable import insertion on single path glob imports r=Veykril a=Veykril
On by default as I feel like this is something the majority would prefer.
Closes#8490
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>