Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | add analysis-bench to benchmark incremental analysis | Aleksey Kladov | 2019-06-16 | 2 | -1/+3 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Can be used like this: ``` $ cargo run --release -p ra_cli -- \ analysis-bench ../chalk/ \ --complete ../chalk/chalk-engine/src/logic.rs:94:0 loading: 225.970093ms from scratch: 8.492373325s no change: 445.265µs trivial change: 95.631242ms ``` Or like this: ``` $ cargo run --release -p ra_cli -- \ analysis-bench ../chalk/ \ --highlight ../chalk/chalk-engine/src/logic.rs loading: 209.873484ms from scratch: 9.504916942s no change: 7.731119ms trivial change: 124.984039ms ``` "from scratch" includes initial analysis of the relevant bits of the project "no change" just asks the same question for the second time. It measures overhead on assembling the answer outside of salsa. "trivial change" doesn't do an actual salsa change, it just advances the revision. This test how fast is salsa at validating things. | ||||
* | Merge #1408 | bors[bot] | 2019-06-16 | 2 | -2/+2 |
|\ | | | | | | | | | | | | | | | | | | | 1408: Associated type basics & Deref support r=matklad a=flodiebold This adds the necessary Chalk integration to handle associated types and uses it to implement support for `Deref` in the `*` operator and autoderef; so e.g. dot completions through an `Arc` work now. It doesn't yet implement resolution of associated types in paths, though. Also, there's a big FIXME about handling variables in the solution we get from Chalk correctly. Co-authored-by: Florian Diebold <[email protected]> | ||||
| * | Implement autoderef using the Deref trait | Florian Diebold | 2019-06-15 | 2 | -2/+2 |
| | | | | | | | | - add support for other lang item targets, since we need the Deref lang item | ||||
* | | reuse AnalysisHost in batch analysis | Aleksey Kladov | 2019-06-15 | 1 | -0/+3 |
|/ | |||||
* | check for cancellation when executing queries | Aleksey Kladov | 2019-06-12 | 1 | -2/+6 |
| | | | | | | | Note that we can't just remove CheckCanceled trait altogether: sometimes it's useful to check for cancellation while the query is running! We do this, for example, in the name resolution fixed-point loop. | ||||
* | Merge #1382 | bors[bot] | 2019-06-12 | 3 | -3/+20 |
|\ | | | | | | | | | | | | | | | 1382: use salsa's LRU for syntax trees r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]> | ||||
| * | make LRU cache configurable | Aleksey Kladov | 2019-06-12 | 2 | -4/+19 |
| | | |||||
| * | make LRU_CAP configurable for batch db | Aleksey Kladov | 2019-06-12 | 1 | -2/+3 |
| | | |||||
| * | use salsa's LRU for syntax trees | Aleksey Kladov | 2019-06-12 | 2 | -2/+3 |
| | | |||||
* | | Merge #1394 | bors[bot] | 2019-06-11 | 1 | -6/+23 |
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1394: Fix hover for pat that shadows items r=matklad a=sinkuu ```rust fn x() {} fn y() { let x = 0i32; x; // hover on `x` is expected to be `i32`, but the actual result was `fn x()` } ``` This was because: if [`res.is_empty()`](https://github.com/sinkuu/rust-analyzer/blob/656a0fa9f99298123d7dcee8c65a8a5ed7043bc4/crates/ra_ide_api/src/hover.rs#L205), it fallbacks to "index based approach" and adds `fn x()` to `res`, which makes [`res.extend(type_of)` below](https://github.com/sinkuu/rust-analyzer/blob/656a0fa9f99298123d7dcee8c65a8a5ed7043bc4/crates/ra_ide_api/src/hover.rs#L260-L266) not happen. Co-authored-by: Shotaro Yamada <[email protected]> | ||||
| * | Fix hover for pat that shadows items | Shotaro Yamada | 2019-06-11 | 1 | -6/+23 |
| | | |||||
* | | move docs under code model | Aleksey Kladov | 2019-06-11 | 2 | -10/+6 |
| | | |||||
* | | remove inherent source impls | Aleksey Kladov | 2019-06-11 | 4 | -8/+9 |
| | | |||||
* | | use Source for module, part 2 | Aleksey Kladov | 2019-06-11 | 1 | -5/+5 |
| | | |||||
* | | use Source for module, part 1 | Aleksey Kladov | 2019-06-11 | 3 | -8/+7 |
| | | |||||
* | | use Source for StructField | Aleksey Kladov | 2019-06-11 | 2 | -5/+5 |
| | | |||||
* | | use Source for MacroDef | Aleksey Kladov | 2019-06-11 | 2 | -7/+7 |
| | | |||||
* | | use Source for impl block | Aleksey Kladov | 2019-06-11 | 1 | -3/+3 |
| | | |||||
* | | use Source for Trait | Aleksey Kladov | 2019-06-11 | 2 | -26/+4 |
| | | |||||
* | | simplify | Aleksey Kladov | 2019-06-11 | 1 | -5/+5 |
| | | |||||
* | | use Source for TypeAlias | Aleksey Kladov | 2019-06-11 | 3 | -33/+10 |
| | | |||||
* | | reduce duplication in hover | Aleksey Kladov | 2019-06-11 | 1 | -56/+24 |
| | | |||||
* | | use Source for statics and consts | Aleksey Kladov | 2019-06-11 | 3 | -36/+11 |
| | | |||||
* | | use Source for Function | Aleksey Kladov | 2019-06-11 | 4 | -15/+9 |
| | | |||||
* | | Introduce HasSource trait | Aleksey Kladov | 2019-06-11 | 1 | -28/+18 |
| | | |||||
* | | use Source more | Aleksey Kladov | 2019-06-11 | 2 | -43/+22 |
| | | |||||
* | | introduce Source struct | Aleksey Kladov | 2019-06-11 | 2 | -14/+17 |
|/ | |||||
* | Simpliy hover on ast::name | Edwin Cheng | 2019-06-10 | 2 | -17/+35 |
| | |||||
* | Use classify_name_ref in hover | Edwin Cheng | 2019-06-10 | 3 | -14/+131 |
| | |||||
* | Remove incorrect FIXME | Edwin Cheng | 2019-06-09 | 1 | -2/+0 |
| | |||||
* | Formating | Edwin Cheng | 2019-06-09 | 1 | -2/+1 |
| | |||||
* | Use &str instread of Option<String> | Edwin Cheng | 2019-06-09 | 2 | -5/+5 |
| | |||||
* | Rename "string" to "buf" | Edwin Cheng | 2019-06-09 | 1 | -8/+8 |
| | |||||
* | Rename Description to ShortLabel | Edwin Cheng | 2019-06-09 | 5 | -133/+133 |
| | |||||
* | Make description_from_symbol depends on symbol | Edwin Cheng | 2019-06-09 | 1 | -5/+5 |
| | |||||
* | Rename description funcs | Edwin Cheng | 2019-06-09 | 1 | -11/+11 |
| | |||||
* | Change docs and description to getter method | Edwin Cheng | 2019-06-09 | 2 | -4/+11 |
| | |||||
* | Add display::Description | Edwin Cheng | 2019-06-09 | 4 | -67/+163 |
| | |||||
* | Construct doc individually | Edwin Cheng | 2019-06-08 | 2 | -45/+141 |
| | |||||
* | Remove node function in NavTarget | Edwin Cheng | 2019-06-08 | 5 | -80/+86 |
| | |||||
* | one macro def should be enough | Aleksey Kladov | 2019-06-08 | 2 | -6/+4 |
| | |||||
* | Merge #1377 | bors[bot] | 2019-06-06 | 14 | -644/+580 |
|\ | | | | | | | | | | | | | | | 1377: Use inline snapshots in complete_keyword r=matklad a=sbihel Relates to #1127 Co-authored-by: Simon Bihel <[email protected]> | ||||
| * | Use inline snapshots in complete_keyword | Simon Bihel | 2019-06-04 | 14 | -644/+580 |
| | | |||||
* | | Fix clippy::or_fun_call | Alan Du | 2019-06-04 | 2 | -2/+2 |
| | | |||||
* | | Fix clippy::identity_conversion | Alan Du | 2019-06-04 | 2 | -3/+2 |
| | | |||||
* | | Fix clippy::new_without_default | Alan Du | 2019-06-04 | 1 | -0/+6 |
| | | |||||
* | | Fix clippy::assign_op_pattern | Alan Du | 2019-06-04 | 1 | -1/+1 |
| | | |||||
* | | Fix clippy::useless_format | Alan Du | 2019-06-04 | 1 | -2/+2 |
| | | |||||
* | | Fix clippy::into_iter_on_ref | Alan Du | 2019-06-04 | 1 | -1/+1 |
| | | |||||
* | | Fix clippy::len_zero | Alan Du | 2019-06-04 | 1 | -2/+2 |
| | |