We have a CLI for benchmarking, but no one actually uses it it seems.
Let's try switching to "internal" benchmarks, implemented as rust tests.
They should be easier to "script" to automate tracking of perf
regressions.
We have a CLI for benchmarking, but no one actually uses it it seems.
Let's try switching to "internal" benchmarks, implemented as rust tests.
They should be easier to "script" to automate tracking of perf
regressions.
8250: More accurately classify assoc. types in paths r=jonas-schievink a=jonas-schievink
Previously `Iterator<Whoops$0 = ()>` would go to the `Iterator` trait. This fixes that and correctly marks `Whoops` as unresolved.
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
8247: internal: ensure that runaway type-inference doesn't block the main loop r=flodiebold a=matklad
We have a bug where type-checking `per_query_memory_usage` takes a
couple of seconds. It also reveals another bug: our type inference is
not cancellable.
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
We have a bug where type-checking `per_query_memory_usage` takes a
couple of seconds. It also reveals another bug: our type inference is
not cancellable.
8237: README: drop "experimental" r=jonas-schievink a=jonas-schievink
rust-analyzer is not very experimental anymore, so let's drop that.
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
8221: Prefer adding `mod` declaration to lib.rs over file.rs in UnlinkedFile fix r=Veykril a=Veykril
When there is a `lib.rs` and `main.rs` in one crate, one usually wants the `lib.rs` file to declare the modules.
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
8214: Mention the rustup version in the manual r=lnicola a=lnicola
Closes#7860
bors r+
changelog fix mention the `rustup` version in the installation instructions.
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
8201: Fix recursive macro statements expansion r=edwin0cheng a=edwin0cheng
This PR attempts to properly handle macro statement expansion by implementing the following:
1. Merge macro expanded statements to parent scope statements.
2. Add a new hir `Expr::MacroStmts` for handle tail expression infer.
PS : The scope of macro expanded statements are so strange that it took more time than I thought to understand and implement it :(
Fixes #8171
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
8191: syntax: return owned string instead of leaking string r=cynecx a=cynecx
Quick hack? to alleviate https://github.com/rust-analyzer/rust-analyzer/issues/8181#issuecomment-806019126. I haven't run any tests but this should affect performance since we are deallocating more.
r? @matklad
Co-authored-by: cynecx <me@cynecx.net>