bors[bot]
a044ac980c
Merge #7638 #7648
...
7638: libloading 0.7 r=kjeremy a=kjeremy
See https://docs.rs/libloading/0.7.0/libloading/changelog/r0_7_0/index.html
7648: fix nightly warning `legacy_derive_helpers` r=lnicola a=peddermaster2
With a recent nightly (e.g. 2021-02-10) a warning comes up. This PR reorders the attributes to fix the warning.
See https://github.com/rust-lang/rust/issues/79202
Co-authored-by: kjeremy <kjeremy@gmail.com>
Co-authored-by: Peter Wischer <peter.wischer@lwl.org>
2021-02-12 13:01:44 +00:00
Peter Wischer
f18fc5a0ae
fix nightly warning legacy_derive_helpers
...
see https://github.com/rust-lang/rust/issues/79202
2021-02-12 13:57:38 +01:00
Jonas Schievink
70f388cedb
Pin Rust to 1.49.0 on CI
2021-02-12 13:05:56 +01:00
Jonas Schievink
e938d769d9
Complete builtin type paths
2021-02-11 19:52:46 +01:00
Jonas Schievink
216dc856c5
Wrap BuiltinType
in code model
2021-02-11 19:52:33 +01:00
kjeremy
61092bd900
libloading 0.7
...
See https://docs.rs/libloading/0.7.0/libloading/changelog/r0_7_0/index.html
2021-02-11 10:07:49 -05:00
Jonas Schievink
925c51aef3
Add test for #1165
...
Closes #1165
2021-02-10 18:42:35 +01:00
Jonas Schievink
2382dce2d3
Slightly expand test
2021-02-10 17:37:15 +01:00
Jonas Schievink
3c5734712a
Add more tests
2021-02-10 15:59:20 +01:00
Jonas Schievink
a00fa0c06f
Put the old resolver back
2021-02-10 15:12:45 +01:00
Jonas Schievink
244d8e37f1
Update fixed tests
2021-02-10 14:48:52 +01:00
Jonas Schievink
e837df8479
infer: update resolver when descending into block
2021-02-10 14:41:54 +01:00
bors[bot]
5e39d7a680
Merge #7617
...
7617: Add getter/setter assists r=Veykril a=yoshuawuyts
This patch makes progress towards the design outlined in https://github.com/rust-analyzer/rust-analyzer/issues/5943 , and includes a small refactor which closes https://github.com/rust-analyzer/rust-analyzer/issues/7607 . All together this patch does 4 things:
- Adds a `generate_getter` assist.
- Adds a `generate_getter_mut` assist.
- Adds a `generate_setter` assist.
- Moves the `generate_impl_text` function from `generate_new` into `utils` (which closes #7607 ).
## Design Notes
I've chosen to follow the [Rust API guidelines on getters](https://rust-lang.github.io/api-guidelines/naming.html#getter-names-follow-rust-convention-c-getter ) as closely as possible. This deliberately leaves "builder pattern"-style setters out of scope.
Also, similar to https://github.com/rust-analyzer/rust-analyzer/pull/7570 this assist generates doc comments. I think this should work well in most cases, and for the few where it doesn't it's probably easily edited. This makes it slightly less correct than the #7570 implementation, but I think this is still useful enough to include for many of the same reasons.
The reason why this PR contains 3 assists, rather than 1, is because each of them is so similar to the others that it felt more noisy to do them separately than all at once. The amount of code added does not necessarily reflect that, but hope that still makes sense.
## Examples
**Input**
```rust
struct Person {
name: String, // <- cursor on "name"
}
```
**generate getter**
```rust
struct Person {
name: String,
}
impl Person {
/// Get a reference to the person's name.
fn name(&self) -> &String {
&self.name
}
}
```
**generate mut getter**
```rust
struct Person {
name: String,
}
impl Person {
/// Get a mutable reference to the person's name.
fn name_mut(&mut self) -> &mut String {
&mut self.name
}
}
```
**generate setter**
```rust
struct Person {
name: String,
}
impl Person {
/// Set the person's name.
fn set_name(&mut self, name: String) {
self.name = name;
}
}
```
Co-authored-by: Yoshua Wuyts <yoshuawuyts+github@gmail.com>
2021-02-10 10:32:36 +00:00
bors[bot]
ff5ef2830c
Merge #7591 #7622
...
7591: Fix/no floating promises r=matklad a=sahandevs
closes #3515
- added `@typescript-eslint/no-floating-promises: error` rule
- changed `"no-console": ["error"]` to `"no-console": ["error", { allow: ["warn", "error"] }]` (we at least log the error messages of the floating promises)
- fixed lint/compile errors
7622: Resolve TupleStructPat in SourceAnalyzer::resolve_path r=Veykril a=Veykril
Closes #7594
bors r+
Co-authored-by: Sahandevs <sahandevs@gmail.com>
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-02-10 08:44:53 +00:00
Lukas Wirth
a195711df0
Resolve TupleStructPat in SourceAnalyzer::resolve_path
2021-02-10 09:37:22 +01:00
Yoshua Wuyts
bfa99f20ff
Add #[track_caller] to assist tests
2021-02-10 00:16:00 +01:00
Yoshua Wuyts
e8d7bcc355
Add getter/setter assists
...
Finish implementing `generate_setter` assists
Make `generate_impl_text` util generic
generate getter methods
Fix getter / setter naming
It's now in-line with the Rust API naming guidelines: https://rust-lang.github.io/api-guidelines/naming.html#getter-names-follow-rust-convention-c-getter
apply clippy
Improve examples
2021-02-10 00:08:41 +01:00
Lukas Wirth
5454559c0a
Show qualified variant pattern completions
2021-02-09 21:35:02 +01:00
bors[bot]
5d4ae1c8e3
Merge #7616
...
7616: Show `Self` pattern and Self-prefixed enum-variant completions r=Veykril a=Veykril
![jDfQXNE0qZ](https://user-images.githubusercontent.com/3757771/107413514-1ff99b00-6b11-11eb-88b3-126cd106b514.gif )
![JpogVIgloq](https://user-images.githubusercontent.com/3757771/107413519-212ac800-6b11-11eb-8282-51115468dccc.gif )
Variant pattern completions are to be done still.
Closes #6549 , at least that should address all that's left from that issue from what I can see.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-02-09 19:38:39 +00:00
bors[bot]
4f9a5287bf
Merge #7615
...
7615: Add parsing benchmark r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-02-09 18:53:27 +00:00
Aleksey Kladov
61f15b72ac
Add parsing benchmark
2021-02-09 21:52:34 +03:00
Lukas Wirth
e92180a1d8
Show Self pattern completions for Adts if inside impls
2021-02-09 19:47:21 +01:00
Lukas Wirth
2f171ca78d
Show completions for enum variant with self prefix if inside impl
2021-02-09 19:04:39 +01:00
bors[bot]
96a9ab7250
Merge #7614
...
7614: Unleash inner item resolution to users r=jonas-schievink a=jonas-schievink
![Peek 2021-02-09 17-30](https://user-images.githubusercontent.com/1786438/107394800-8627f300-6afc-11eb-8662-ed07226bc58f.gif )
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-02-09 18:01:04 +00:00
Jonas Schievink
85906aa304
Remove unneeded return
2021-02-09 18:40:05 +01:00
Aleksey Kladov
4b1279d0b1
Infra for "unit" benchmarking
2021-02-09 20:25:39 +03:00
Jonas Schievink
51f68863b1
Remove pub
2021-02-09 17:36:10 +01:00
Jonas Schievink
e16d9dc5bd
Use block_def_map
in Resolver
...
This required a few changes to not bail out immediately if a
`ModuleScope` doesn't resolve a path.
The `LocalItemsScope` hack is now removed.
2021-02-09 17:27:04 +01:00
Jonas Schievink
34ad3d629a
Teach find_path
about inner items
2021-02-09 17:25:03 +01:00
Jonas Schievink
7067a22e1c
Add another block def map test
2021-02-09 17:24:43 +01:00
Jonas Schievink
b9c213da7a
Make with_ancestor_maps
public
2021-02-09 17:23:25 +01:00
Jonas Schievink
27f77060e2
Add TestDB::module_at_position
2021-02-09 17:22:57 +01:00
Jonas Schievink
1956286368
Add expression scopes for blocks
2021-02-09 17:11:44 +01:00
Aleksey Kladov
9ea2c96ddd
restore accidentally deleted test
2021-02-09 18:29:15 +03:00
Aleksey Kladov
ef8f38efc6
More precise navigation to parent
2021-02-09 18:21:09 +03:00
Aleksey Kladov
2ac20b05f1
Cleanup tests
2021-02-09 18:13:11 +03:00
Aleksey Kladov
2dc67c85b9
Cleanup test
2021-02-09 17:48:25 +03:00
Aleksey Kladov
5ddfde3038
Modernize tests
2021-02-09 17:23:35 +03:00
bors[bot]
876c4519e3
Merge #7602
...
7602: Check for dyn impls in method resolution r=flodiebold a=Veykril
Fixes #6777
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-02-08 18:22:35 +00:00
Lukas Wirth
965d31ce5b
Check for dyn impls in method resolution
2021-02-08 19:13:54 +01:00
kjeremy
0c3b38695a
Update crates
...
Pulls in https://github.com/rust-lang/chalk/pull/682
2021-02-08 11:38:51 -05:00
Vincent Esche
8f461ffe8f
Consolidate fn load_cargo(…)
parameters into struct LoadCargoConfig { … }
2021-02-08 11:30:16 +01:00
Vincent Esche
6d9c13c710
Add config: &CargoConfig
parameter to fn load_cargo(…)
2021-02-08 11:00:55 +01:00
Gowri
6b947567e1
chore: swap order of placeholders
2021-02-08 18:22:46 +10:30
Gowri
498dfc45d4
ci: update relevant test case expected values
2021-02-08 10:16:20 +10:30
Gowri
7b92a55ff7
fix: add for keyword in completion #7588
2021-02-08 09:57:16 +10:30
Aleksey Kladov
7022ea52b5
AdtDef -> Adt
2021-02-07 14:15:02 +03:00
petr-tik
f4e3eceb6f
Add a semantic token type for char literals
...
The LSP spec doesn't recognise character literals, so
had to extend the suported types to our own custom type
2021-02-05 23:46:39 +00:00
Jonas Schievink
c312ab51d0
Test super
resolution too
2021-02-05 19:25:50 +01:00
Jonas Schievink
997bd97b77
Fix resolution of self
module within blocks
2021-02-05 19:24:03 +01:00