aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Normalize assoc types in more placesFlorian Diebold2019-08-122-12/+27
| | |
* | | Improve debug logging a bitFlorian Diebold2019-08-122-4/+18
| | |
* | | Normalize associated types during inferenceFlorian Diebold2019-08-123-9/+25
| | |
* | | Lower fully qualified associated type pathsFlorian Diebold2019-08-125-23/+128
| | | | | | | | | | | | I.e. `<T as Trait>::Foo`.
* | | Add representations of associated typesFlorian Diebold2019-08-123-0/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds three different representations, copied from the Chalk model: - `Ty::Projection` is an associated type projection written somewhere in the code, like `<Foo as Trait>::Bar`. - `Ty::UnselectedProjection` is similar, but we don't know the trait yet (`Foo::Bar`). - The above representations are normalized to their actual types during type inference. When that isn't possible, for example for `T::Item` inside an `fn foo<T: Iterator>`, the type is normalized to an application type with `TypeCtor::AssociatedType`.
* | | Add another test for assoc type resolutionFlorian Diebold2019-08-121-6/+46
| | |
* | | Use Source in Diagnostic and implementEvgenii P2019-08-122-24/+16
| | |
* | | Drop support for old extendSelection APIAleksey Kladov2019-08-123-44/+1
| | | | | | | | | | | | | | | | | | Emacs now handles this via native LSP request https://github.com/emacs-lsp/lsp-mode/commit/dc86bbb227147aa8141e690ad5648fdbd2ebdb9f
* | | Always set the runnable nameKirill Bulatov2019-08-091-11/+11
| | |
* | | Extract common logicKirill Bulatov2019-08-091-55/+42
| | |
* | | Show backtraces in lens runnablesKirill Bulatov2019-08-091-1/+5
| |/ |/|
* | Move numeric names inside of `NameRef`Aleksey Kladov2019-08-0910-37/+52
| |
* | Make name_ref to accept numeric names optionallyEvgenii P2019-08-095-9/+9
| |
* | Parse tuple struct field initializationEvgenii P2019-08-094-8/+31
| |
* | Change macro to functionEvgenii P2019-08-091-15/+13
| |
* | rustfmtEvgenii P2019-08-091-10/+10
| |
* | Reduce code duplication in lexer by introducing small macroEvgenii P2019-08-091-20/+17
| |
* | Merge #1661bors[bot]2019-08-089-1/+571
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1661: Parse function parameters attributes r=matklad a=eupn Fixes #1397. The [RFC-2565](https://github.com/rust-lang/rfcs/blob/master/text/2565-formal-function-parameter-attributes.md) specifies `#[attributes]` to function parameters: ```rust fn foo(#[attr] a, #[unused] b, #[must_use] ...) { // ... } ``` This PR adds those attributes into grammar and to the parser, extending corresponding inline tests. Co-authored-by: Evgenii P <[email protected]>
| * | Fix parser tests according to reviewEvgenii P2019-08-0819-498/+580
| | |
| * | Deduplicate while loop break conditionEvgenii P2019-08-081-2/+2
| | |
| * | Fix parser to correctly consume outer attrs before ellipsis paramEvgenii P2019-08-071-0/+4
| | |
| * | Fix variadic arg inline testEvgenii P2019-08-073-25/+25
| | |
| * | Add function parameters attributesEvgenii P2019-08-0715-21/+505
| | |
* | | assoc types boundsAleksey Kladov2019-08-073-0/+63
| | |
* | | implement while let desugaringAleksey Kladov2019-08-074-21/+76
| | |
* | | refactor if-let loweringAleksey Kladov2019-08-071-19/+25
| | | | | | | | | | | | mainly to get rid of unwraps
* | | refactor if loweringAleksey Kladov2019-08-071-17/+14
|/ /
* | install server firstAleksey Kladov2019-08-071-3/+3
| | | | | | | | closes #1658
* | Merge #1652bors[bot]2019-08-063-71/+43
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1652: Improve type hints behavior r=matklad a=SomeoneToIgnore This PR fixed the following type hints issues: * Restructures the `InlayKind` enum contents based on the discussion here: https://github.com/rust-analyzer/rust-analyzer/pull/1606#issuecomment-515968055 * Races described in #1639 * Caches the latest decorations received for each file to show them the next time the file is opened (instead of a new server request) Co-authored-by: Kirill Bulatov <[email protected]>
| * | Style and test fixesKirill Bulatov2019-08-041-28/+28
| | |
| * | Use proper inlay kindsKirill Bulatov2019-08-043-43/+15
| | |
* | | fix testsAleksey Kladov2019-08-061-2/+2
| | |
* | | allow to exclude certain files and directoriesAleksey Kladov2019-08-063-14/+29
| | |
* | | push glob errors outwardsAleksey Kladov2019-08-061-6/+7
| | |
* | | rename configAleksey Kladov2019-08-064-19/+14
| | |
* | | introduce ra_vfs_glob crateAleksey Kladov2019-08-0611-142/+135
| | | | | | | | | | | | It manages exclusion rules for the vfs crate
* | | cleanup importsAleksey Kladov2019-08-061-5/+2
| | |
* | | cleanupAleksey Kladov2019-08-066-9/+10
| | |
* | | renameAleksey Kladov2019-08-064-31/+31
| | |
* | | use Conv for severityAleksey Kladov2019-08-062-20/+21
| | |
* | | Update crates/ra_cli/src/analysis_stats.rsLaurențiu Nicola2019-08-051-1/+1
| | | | | | | | | Co-Authored-By: Aleksey Kladov <[email protected]>
* | | Optimize Parser::is_composite a littleLaurențiu Nicola2019-08-051-19/+35
| | |
* | | Display the parsing time in ra_cli analysis-statsLaurențiu Nicola2019-08-051-1/+5
| | |
* | | Merge #1642bors[bot]2019-08-051-0/+17
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 1642: Add test for #1540 r=matklad a=kjeremy Co-authored-by: Jeremy Kolb <[email protected]>
| * | Add test for #1540Jeremy Kolb2019-08-031-0/+17
| | |
* | | Merge #1634bors[bot]2019-08-043-10/+104
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1634: Implement .await completion for futures r=flodiebold a=eupn Closes #1263 with completion for `.await` syntax for types that are implementing `std::future::Future` trait. r? @flodiebold Co-authored-by: Evgenii P <[email protected]>
| * | | rustfmtEvgenii P2019-08-041-3/+1
| | | |
| * | | Idiomatic returnEvgenii P2019-08-041-1/+1
| | | |
| * | | Employ early return pattern moreEvgenii P2019-08-042-25/+27
| | | |
| * | | source_binder.rs: fix order of importsEvgenii P2019-08-041-9/+10
| | | |