Amos Wenger
816f7fe12a
Run cargo fix --edition-idioms
2022-07-20 15:02:08 +02:00
Amos Wenger
23d25a3094
Enable extra warnings required by rust-lang/rust
2022-07-20 15:00:17 +02:00
Lukas Wirth
bb4bfae422
fix: Fix search for associated trait items being inconsistent
2022-07-20 13:59:31 +02:00
bors
22e53f1d33
Auto merge of #12549 - bitgaoshu:goto_where_trait_m_impl, r=Veykril
...
feat: Go to implementation of trait methods
try goto where the trait method implies, #4558
2022-07-18 16:29:23 +00:00
Lukas Wirth
38c11bea21
Move convert_to_def_in_trait
into ide-db
2022-07-18 18:28:02 +02:00
bors
01d251789f
Auto merge of #12539 - soruh:instanciate_empty_structs, r=Veykril
...
Automatically instaciate trivially instaciable structs in "Generate new" and "Fill struct fields"
As proposed in #12535 this PR changes the "Generate new" and "Fill struct fields" assist/diagnostic to instanciate structs with no fields and enums with a single empty variant.
For example:
```rust
pub enum Bar {
Bar {},
}
struct Foo<T> {
a: usize,
bar: Bar,
_phantom: std::marker::PhantomData<T>,
}
impl<T> Foo<T> {
/* generate new */
fn random() -> Self {
Self { /* Fill struct fields */ }
}
}
```
was previously:
```rust
impl<T> Foo<T> {
fn new(a: usize, bar: Bar, _phantom: std::marker::PhantomData<T>) -> Self {
Self { a, bar, _phantom }
}
fn random() -> Self {
Self {
a: todo!(),
bar: todo!(),
_phantom: todo!(),
}
}
}
```
and is now:
```rust
impl<T> Foo<T> {
fn new(a: usize) -> Self {
Self {
a,
bar: Bar::Bar {},
_phantom: std::marker::PhantomData
}
}
fn random() -> Self {
Self {
a: todo!(),
bar: Bar::Bar {},
_phantom: std::marker::PhantomData,
}
}
}
```
I'd be happy about any suggestions.
## TODO
- [x] deduplicate `use_trivial_constructor` (unclear how to do as it's used in two separate crates)
- [x] write tests
Closes #12535
2022-07-16 16:36:57 +00:00
bors
ac526e029a
Auto merge of #12712 - harpsword:fix-rename-crate-root, r=Veykril
...
fix: ignore renames for crate root
close #12684 . I just ignore renames for crate root in `rename_mod` func.
2022-07-16 16:28:41 +00:00
bors
029184d977
Auto merge of #12765 - Veykril:import-insert-fix, r=Veykril
...
fix: Fix imports being inserted before doc comments in inline modules
Fixes https://github.com/rust-lang/rust-analyzer/issues/12758
2022-07-14 20:57:22 +00:00
Lukas Wirth
6b823b0234
fix: Fix imports being inserted before doc comments in inline modules
2022-07-14 22:56:56 +02:00
bors
fbba1d7acb
Auto merge of #12691 - Veykril:proc-macro-diag, r=Veykril
...
fix: Fix unresolved proc macro diagnostics pointing to macro expansions
Fixes https://github.com/rust-lang/rust-analyzer/issues/12657
2022-07-14 14:21:16 +00:00
harpsword
4b3164f129
fix: ignore renames for crate root
2022-07-10 10:45:03 +08:00
Jonas Schievink
6c6ae965ba
Update remaining GitHub URLs
2022-07-08 15:44:49 +02:00
Lukas Wirth
976d07e53e
fix: Fix unresolved proc macro diagnostics pointing to macro expansions
2022-07-05 12:46:09 +02:00
Ryo Yoshida
36d2b43dfd
fix: improve whitespace insertion in pretty printer
2022-06-28 20:44:55 +09:00
bitgaoshu
900b4208fd
rename "trait_def" to "def_in_trait"
2022-06-24 23:04:35 +08:00
bitgaoshu
9ea8d5806d
fix test in qualify_method: stay in trait path
2022-06-24 23:04:35 +08:00
bitgaoshu
9e6bff79f4
fix some test due to resolve to where trait m impl
2022-06-24 19:15:16 +08:00
bitgaoshu
6ecabe352a
functions resolve to impl
2022-06-24 19:11:35 +08:00
bitgaoshu
1064c7513a
reformat code
2022-06-23 14:01:22 +02:00
bitgaoshu
1ef5e14c2c
goto where trait method impl
2022-06-23 14:01:22 +02:00
soruh
817082cad6
add doc strings to use_trivial_contructor.rs
2022-06-22 16:49:50 +02:00
soruh
f9379df630
add use_trivial_contructor.rs
2022-06-22 16:34:01 +02:00
soruh
f780145c4a
apply suggestions
2022-06-22 16:29:59 +02:00
Jeremy Banks
c32f133236
fix: inserted imports must come after a shebang if present
2022-06-15 19:42:43 +00:00
Jeremy Banks
f32ad8362f
add failing test: inserts_after_shebang
2022-06-15 19:42:43 +00:00
Lukas Wirth
76ae5434fa
internal: Bump Dependencies
2022-06-10 17:30:02 +02:00
iDawer
ea8899a445
Allow merging of multiple selected imports.
...
The selected imports have to have a common prefix in paths.
Before
```rust
$0use std::fmt::Display;
use std::fmt::Debug;$0
```
After
```rust
use std::fmt::{Display, Debug};
```
2022-06-02 23:15:55 +05:00
Nikita Podoliako
d98c04aac1
fix(ide-db): correct single-file module rename
2022-05-28 15:07:22 +03:00
Lukas Wirth
86d1d9067e
fix: Insert whitespace into trait-impl completions when coming from macros
2022-05-24 22:56:33 +02:00
andylizi
ebf8b1a96e
ide: insert whitespaces surrounding _
in macro expansion
2022-05-24 07:54:43 +08:00
bvanjoi
f6b8525b1d
feat: escape format specifier( close : #12258 )
2022-05-22 15:32:24 +08:00
Aleksey Kladov
7734a8b72f
dead code
2022-05-21 13:39:59 +01:00
Lukas Wirth
88e297e47d
minor: Simplify
2022-05-20 16:52:10 +02:00
Jonas Schievink
1df6560fd8
Improve "Generate Deref
impl" assist
2022-05-16 20:10:46 +02:00
Jake Heinz
4efc2a9df2
ide: insert whitespace between 'mut' and 'self' in macro expansion
2022-05-15 07:55:13 +00:00
Jonas Schievink
7e45915aa4
Resolve assoc. types of supertraits in the IDE layer
2022-05-09 17:30:49 +02:00
Lukas Wirth
c0feb389ed
fix: Fix import insertion inserting after last comment in a file
2022-05-09 12:12:41 +02:00
Lukas Wirth
61e074f016
fix: Allow auto importing starting segments of use items
2022-05-07 15:52:22 +02:00
Peh
1f011fa4a3
style: rename crates to kebab case
2022-05-01 10:48:58 +00:00