Kirill Bulatov
fee74851b0
Propose custom derives in completion
2020-05-02 22:24:27 +03:00
Jonas Schievink
8c2670026a
Complete assoc. items on type parameters
2020-04-30 00:10:30 +02:00
Jonas Schievink
8cb139090f
Complete union fields after dot
2020-04-28 22:45:46 +02:00
Jonas Schievink
76d6f54471
Don't add call parens when an fn type is expected
2020-04-25 22:18:57 +02:00
Aleksey Kladov
970dbf8717
Rename StructField -> Field
2020-04-25 14:23:34 +02:00
Kirill Bulatov
ce06a6b422
Do not add default and closure types in 'add explicit type' assist
2020-04-21 22:56:40 +03:00
Edwin Cheng
f78de3bb95
Ignore proc-macro in completion
2020-04-18 19:26:54 +08:00
Josh Mcguigan
6be972770e
diagnostics cli, iterate over members
2020-04-14 16:26:03 -07:00
Aleksey Kladov
4c29214bba
Move computation of missing fields into hir
2020-04-07 18:34:17 +02:00
Matthew Hall
6a2127be28
Cleanup checking for existing impls in impl From assist
...
Use the trait solver to check if there's an existing implementation of
From<type_in_enum_variant> for the enum.
2020-04-02 18:42:30 +01:00
Matthew Hall
1fee60181f
Add impl From for enum variant assist
...
Basically adds a From impl for tuple enum variants with one field. Added
to cover the fairly common case of implementing your own Error that can
be created from another one, although other use cases exist.
2020-04-01 22:26:41 +01:00
Edwin Cheng
07ec31813c
fix typo of visibility_of
2020-03-26 00:11:38 +08:00
Edwin Cheng
bcfb3700ce
Add ItemScope::visibility_of
2020-03-25 04:45:42 +08:00
Kirill Bulatov
944f28fe5b
Use more generic public api
2020-03-24 10:43:22 +02:00
Kirill Bulatov
d5e11b33a3
Remove the upcast
2020-03-24 10:43:00 +02:00
Kirill Bulatov
d221ff4f9e
Auto import macros
2020-03-24 10:43:00 +02:00
veetaha
559aeb2932
ra_hir: add more privacy for Type
2020-03-23 02:01:07 +02:00
veetaha
bfb6e3fd83
ra_hir: migrate some stuff to matches!()
2020-03-22 15:45:32 +02:00
Aleksey Kladov
9faea2364d
Use dyn Trait
for working with databse
...
It improves compile time in `--release` mode quite a bit, it doesn't
really slow things down and, conceptually, it seems closer to what we
want the physical architecture to look like (we don't want to
monomorphise EVERYTHING in a single leaf crate).
2020-03-16 17:42:30 +01:00
Florian Diebold
d6195fa21f
Fix completion of HashMap::new
...
The `ty` function in code_model returned the type with placeholders for type
parameters. That's nice for printing, but not good for completion, because
placeholders won't unify with anything else: So the type we got for `HashMap`
was `HashMap<K, V, T>`, which doesn't unify with `HashMap<?, ?, RandomState>`,
so the `new` method wasn't shown.
Now we instead return `HashMap<{unknown}, {unknown}, {unknown}>`, which does
unify with the impl type. Maybe we should just expose this properly as variables
though, i.e. we'd return something like `exists<type, type, type> HashMap<?0,
?1, ?2>` (in Chalk notation). It'll make the API more complicated, but harder to
misuse. (And it would handle cases like `type TypeAlias<T> = HashMap<T, T>` more
correctly.)
2020-03-13 13:04:32 +01:00
Aleksey Kladov
680182d0a0
Restore cargo-fmt gating
2020-03-13 12:54:32 +01:00
Josh Mcguigan
7208498d54
fix issue 3444
2020-03-12 17:16:28 -07:00
Aleksey Kladov
100cbc57ce
Simplify
2020-03-09 11:19:03 +01:00
Aleksey Kladov
0320ebdd10
Use Index
for CrateGraph
2020-03-09 11:11:59 +01:00
bors[bot]
57c27f9139
Merge #3519
...
3519: Show mod path on hover r=matklad a=SomeoneToIgnore
Closes #1064
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
2020-03-09 09:33:46 +00:00
Kirill Bulatov
e1aa96f2c5
Less abstract CrateData api
2020-03-09 11:26:46 +02:00
Florian Diebold
05e1c7b197
Handle visibility for assoc item path completion as well
2020-03-08 15:15:46 +01:00
Florian Diebold
d9c77c5453
Handle visibility for path completion (not in all cases yet)
2020-03-08 10:51:40 +01:00
Florian Diebold
734e68da4c
Handle visibility in method call completion
2020-03-07 23:03:56 +01:00
Kirill Bulatov
32f5276465
Show mod path in hover tooltip
2020-03-07 23:20:18 +02:00
Aleksey Kladov
7d71cc72b5
Refactor reference search a bit
2020-03-03 18:22:52 +01:00
Aleksey Kladov
a1e1869554
Rename ast::ImplBlock -> ast::ImplDef
2020-02-29 21:33:15 +01:00
Aleksey Kladov
14ea21617a
Minor
2020-02-29 18:34:34 +01:00
Aleksey Kladov
28332d9b63
Simplify SourceBinder
2020-02-29 18:32:18 +01:00
Aleksey Kladov
86b66067f6
Don't store deriveable Module info in NameDefinition
2020-02-19 14:32:22 +01:00
Kirill Bulatov
eceaf94f19
More manual clippy fixes
2020-02-18 16:12:37 +02:00
Kirill Bulatov
b8ddcb0652
Run cargo +nightly fix --clippy -Z unstable-options
2020-02-18 16:03:08 +02:00
adamrk
04aff742b1
show names for record fields in enum completion
2020-02-16 16:10:23 +01: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
d5c3808545
Support trait method call autoimports
2020-02-12 17:18:42 +02:00
Kirill Bulatov
8f959f20ee
Trait location draft
2020-02-12 17:18:42 +02:00
Aleksey Kladov
225fc353af
Add more hir APIs for associated items
2020-02-12 15:31:44 +01:00
Florian Diebold
dded90a748
Formatting
2020-02-07 18:28:10 +01:00
Florian Diebold
0718682cff
Fix compilation of other crates
2020-02-07 18:28:10 +01:00
Florian Diebold
93aa166748
wip lower impl trait to type args
2020-02-07 18:28:10 +01:00
Florian Diebold
7ea4bce1b2
Add impl trait lowering mode
2020-02-07 18:28:10 +01:00
Florian Diebold
22a65b11b3
Introduce TyLoweringContext
2020-02-07 18:28:10 +01:00
Kirill Bulatov
d3188769e4
Auto import functions
2020-02-01 22:13:02 +02:00
Aleksey Kladov
21ea62d292
Don't parse child modules when doing diagnostics
2020-01-15 14:42:57 +01:00