aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* implement initial type inference for index expressionsAleksey Kladov2019-08-173-1/+33
|
* normalize ordering opsAleksey Kladov2019-08-172-26/+36
|
* Introduce separate hir::BinaryOpAleksey Kladov2019-08-174-75/+96
| | | | | Unlike ast::BinOp, it has significantly more structure to it, so it's easier to, say, handle all assignment-like operations in the same way.
* implement accessors for IndexExprAleksey Kladov2019-08-171-0/+9
|
* simplifyAleksey Kladov2019-08-171-35/+36
|
* Remove cpuprofile dependenciesAleksey Kladov2019-08-174-13/+63
|
* :arrow_up: depsAleksey Kladov2019-08-171-1/+1
|
* Merge #1691bors[bot]2019-08-162-2/+44
|\ | | | | | | | | | | | | | | 1691: Show inherent and trait impls of structs and enums r=viorina a=viorina Co-authored-by: Ekaterina Babshukova <[email protected]>
| * show inherent and trait impls of structs and enumsEkaterina Babshukova2019-08-162-2/+44
| |
* | implement durabilityAleksey Kladov2019-08-158-27/+82
| |
* | switch from volatile to untracked readAleksey Kladov2019-08-152-22/+41
| |
* | Merge #1685bors[bot]2019-08-155-1/+142
|\ \ | | | | | | | | | | | | | | | | | | | | | 1685: fix error of RangeFrom in for-loop r=DJMcNab a=bravomikekilo fix [issue-1542](https://github.com/rust-analyzer/rust-analyzer/issues/1542) @matklad Co-authored-by: bravomikekilo <[email protected]>
| * | fix test positionbravomikekilo2019-08-146-118/+130
| | |
| * | fix testbravomikekilo2019-08-141-2/+2
| | |
| * | fix error of RangeFrom in for-loopbravomikekilo2019-08-143-1/+130
| | |
* | | Merge #1676bors[bot]2019-08-1410-13/+100
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 1676: Fix for<'lifetime> for types specified by path r=matklad a=eupn Fixes #1467. Co-authored-by: Evgenii P <[email protected]>
| * | Fix is_path_start to accept T![<], fix is_path_start usagesEvgenii P2019-08-138-13/+17
| | |
| * | Fix for<'lifetime> for types specified by pathEvgenii P2019-08-113-2/+85
| | |
* | | Merge #1636bors[bot]2019-08-133-7/+81
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 1636: fix block parse problem r=matklad a=bravomikekilo try to fix [issue-1598](https://github.com/rust-analyzer/rust-analyzer/issues/1598). Co-authored-by: bravomikekilo <[email protected]>
| * | add inline testbravomikekilo2019-08-133-0/+75
| | |
| * | fix block parse problembravomikekilo2019-08-031-7/+6
| | |
* | | Handle placeholder assoc types when Chalk produces themFlorian Diebold2019-08-122-3/+67
| | |
* | | 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