Ilya Titkov
a2b0bdcc24
Add arguments to rustfmt
2020-02-17 11:44:58 +03:00
bors[bot]
daffdd8674
Merge #3179
...
3179: Introduce AsMacroCall trait r=matklad a=edwin0cheng
This PR introduce `AsMacroCall` trait to help convert `ast::MacroCall` to `MacroCallId`. The main goal here is to centralize various conversions to single place and make implementing eager macro calls without further ado.
```rust
pub trait AsMacroCall {
fn as_call_id(
&self,
db: &(impl db::DefDatabase + AstDatabase),
resolver: impl Fn(path::ModPath) -> Option<MacroDefId>,
) -> Option<MacroCallId>;
}
```
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2020-02-17 08:38:09 +00:00
Edwin Cheng
2d4e79e1e6
Introduce AsMacroCall trait
2020-02-17 12:57:24 +08:00
Aleksey Kladov
ca7e9ab0da
1-based columns
2020-02-16 18:30:48 +01:00
Aleksey Kladov
0f79ec76d6
Support goto def in bences
2020-02-16 18:24:06 +01:00
Aleksey Kladov
6a3ec2dfa5
Refactor arg parsing
2020-02-16 18:20:22 +01:00
Aleksey Kladov
2ba918775c
Refactor position parsing
2020-02-16 18:17:35 +01:00
Aleksey Kladov
98cc51580d
Enable profiling for bench
2020-02-16 18:04:08 +01:00
Kirill Bulatov
f0338cea5b
Fix a slow test
2020-02-16 18:55:52 +02:00
Kirill Bulatov
dabdb57067
Simplify module retrieval
2020-02-16 18:44:46 +02:00
Aleksey Kladov
28fa5edbce
Add module colors to css
2020-02-16 17:06:01 +01:00
adamrk
e88eb89132
add space before/after wrapping braces
2020-02-16 16:33:15 +01:00
adamrk
68d3743faf
replace uses of VariantData::is_unit with VariantData::kind
2020-02-16 16:10:32 +01:00
adamrk
04aff742b1
show names for record fields in enum completion
2020-02-16 16:10:23 +01:00
Florian Diebold
e14e7ffa34
Fix coercion of &T to itself
...
The autoderef coercion logic did not handle matching placeholders. This led to
some type mismatches.
2020-02-16 12:58:20 +01:00
bors[bot]
d976772716
Merge #3157
...
3157: Extend analysis-stats a bit r=matklad a=flodiebold
This adds some tools helpful when debugging nondeterminism in analysis-stats:
- a `--randomize` option that analyses everything in random order
- a `-vv` option that prints even more detail
Also add a debug log if Chalk fuel is exhausted (which would be a source of
nondeterminism, but didn't happen in my tests).
I found one source of nondeterminism (rust-lang/chalk#331 ), but there are still
other cases remaining.
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2020-02-15 22:35:44 +00:00
Aleksey Kladov
11dda31941
Remove extra dep
2020-02-15 23:23:44 +01:00
Florian Diebold
3484d727c3
Extend analysis-stats a bit
...
This adds some tools helpful when debugging nondeterminism in analysis-stats:
- a `--randomize` option that analyses everything in random order
- a `-vv` option that prints even more detail
Also add a debug log if Chalk fuel is exhausted (which would be a source of
nondeterminism, but didn't happen in my tests).
I found one source of nondeterminism (rust-lang/chalk#331 ), but there are still
other cases remaining.
2020-02-15 18:04:01 +01:00
Kevin DeLorey
057d0bee55
Added module doc comment to explain the purpose of the completion.
2020-02-15 10:27:04 -06:00
Kevin DeLorey
ae8ae650fc
Fixed bug that allowed for completion in a nested method.
2020-02-15 09:50:07 -06:00
Kevin DeLorey
fc13b7fc9a
Reordered the use
items.
2020-02-14 18:54:00 -06:00
Kirill Bulatov
426c0f26fe
If possible, use --exact flag when running tests
2020-02-15 01:06:14 +02:00
Mikhail Modin
f8f454ab5c
Init implementation of structural search replace
2020-02-14 21:45:42 +00:00
Benjamin Brittain
843f03a3d2
Bump crate resolution limit for large projects
...
Change-Id: Ie0221e5bcfd1779cd5e241f96b4489e5bd3854c1
2020-02-14 16:15:59 -05:00
bors[bot]
b2b94cbf71
Merge #3147
...
3147: Check that impl self type matches up with expected self type in path mode r=matklad a=flodiebold
Fixes #3144 .
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2020-02-14 20:32:55 +00:00
bors[bot]
6fb36dfdcb
Merge #3145
...
3145: Make Self implement the trait inside trait default methods r=matklad a=flodiebold
Co-authored-by: Florian Diebold <florian.diebold@freiheit.com>
2020-02-14 20:26:08 +00:00
Florian Diebold
f47dc4de8d
Check that impl self type matches up with expected self type in path mode
...
Fixes #3144 .
2020-02-14 21:08:25 +01:00
Florian Diebold
001dd6a200
Make Self implement the trait inside trait default methods
2020-02-14 20:39:04 +01:00
Aleksey Kladov
0bfebb8b20
Make AtomicX type resolve again
2020-02-14 19:33:39 +01:00
Florian Diebold
5028b86cb8
Move hir_fmt code to display module
2020-02-14 15:01:42 +01:00
Florian Diebold
a324d066cb
Rename Ty::Param => Ty::Placeholder
...
This aligns more with Chalk.
2020-02-14 14:44:00 +01:00
Kevin DeLorey
be97cbfdb4
Adjusted the completion lookups to filter by just the name.
2020-02-13 19:10:08 -06:00
bors[bot]
1f897d1c6e
Merge #3120
...
3120: Support trait auto import r=matklad a=SomeoneToIgnore
Unfortunately, for real cases it does not work as spectacular as in the tests.
The main reason for that is type inference:
* The callee type [here](https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_hir_ty/src/method_resolution.rs#L369 ) is unknown for many cases
* The trait solution [here](https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_hir_ty/src/method_resolution.rs#L399 ) is also often ambiguous
That results in trait candidates being rejected, and some real cases not supported.
Example: no imports for `String::from_str("test")`
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
2020-02-13 11:37:32 +00:00
Adam Bratschi-Kaye
6f2cab1368
Add error context to failures in ra_project_model
using anyhow
crate ( #3119 )
...
Add error context to failures in ra_project_model using anyhow crate
2020-02-13 11:10:50 +01:00
Quan Luu
409c1a7f06
prevent "Play" symbol in "Run Test" code lens from rendering as emoji
2020-02-13 15:09:39 +07:00
Kevin DeLorey
0bc9e62374
Completion now replaces whole fn/const/type def with snippet.
2020-02-12 21:00:47 -06:00
Kevin DeLorey
43e62a87ab
Cheese const tests as they requre an ident before becoming a CONST_DEF.
2020-02-12 20:46:55 -06:00
Kevin DeLorey
877cfbacf9
Started to refactor the trigger of the trait_impl completion.
2020-02-12 20:21:43 -06:00
Han Mertens
bed9c083de
Run cargo test
2020-02-12 23:15:48 +01:00
Han Mertens
537da096fe
Run cargo xtask codegen
2020-02-12 23:09:13 +01:00
Han Mertens
b435fe8b77
Add test for unnamed argument in function pointer
2020-02-12 22:55:37 +01:00
Kirill Bulatov
e4f4cd77a0
Do not collect all traits
2020-02-12 23:27:19 +02:00
Han Mertens
0e10e77a78
Support unnamed arguments in function pointers
...
Fixes #3089
2020-02-12 21:40:05 +01:00
Kirill Bulatov
e008b08054
Support associated consts
2020-02-12 22:38:19 +02:00
Aleksey Kladov
f2424f947c
Add couple of utility methods
2020-02-12 18:19:55 +01:00
Aleksey Kladov
6ec982d54d
Simplify
2020-02-12 18:02:00 +01:00
Kirill Bulatov
3ccf8b746a
Also consider associated constants
2020-02-12 18:52:29 +02:00
Kirill Bulatov
f65daf23df
Revert source_analyzer changes
2020-02-12 17:34:37 +02:00
Kirill Bulatov
afc1d18ff3
Fix post-rebase issues
2020-02-12 17:18:42 +02:00
Kirill Bulatov
acf5f43639
Refactor the code
2020-02-12 17:18:42 +02:00