aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax
Commit message (Collapse)AuthorAgeFilesLines
* better error recovery for use treesAleksey Kladov2019-09-053-1/+60
|
* Merge #1743bors[bot]2019-09-052-0/+2
|\ | | | | | | | | | | | | | | 1743: Support `#[macro_use]` on `extern crate` r=matklad a=uHOOCCOOHu Unfortunately, #1688 is still an issue. My guess is wrong :( Co-authored-by: uHOOCCOOHu <[email protected]>
| * Support resolution of `#[macro_use] extern crate`uHOOCCOOHu2019-08-312-0/+2
| |
* | Correctly build BodySourceMap for macro-expanded expressionsAleksey Kladov2019-09-031-2/+3
| |
* | fix assistsAleksey Kladov2019-09-021-0/+20
| |
* | fix hir for new block syntaxAleksey Kladov2019-09-024-6/+6
| |
* | fix generated ASTAleksey Kladov2019-09-023-3/+4
| |
* | update test dataAleksey Kladov2019-09-02150-8970/+9245
| |
* | always wrap block into an expressionAleksey Kladov2019-09-022-11/+11
| |
* | remove useless traitAleksey Kladov2019-09-023-9/+6
| |
* | Add an expr_source method analogous to the source methods in the code modelFlorian Diebold2019-09-021-3/+2
|/ | | | ... and use that instead of exposing the source map.
* Merge #1734bors[bot]2019-08-251-0/+7
|\ | | | | | | | | | | | | | | 1734: Strip indents and empty lines in check_apply_diagnostic_fix_from_position r=matklad a=matklad Co-authored-by: Phil Ellison <[email protected]>
| * Cast SyntaxNodePtr to AstPtr directlyPhil Ellison2019-08-251-0/+7
| |
* | Generate and bless testsDylan MacKenzie2019-08-247-85/+227
| |
* | Centralize `box` pattern tests in `patterns.rs`Dylan MacKenzie2019-08-241-0/+6
| |
* | Add `BoxPat` variantDylan MacKenzie2019-08-232-2/+40
|/
* rename struct -> record, pos -> tupleAleksey Kladov2019-08-2343-421/+421
|
* make ast object safeAleksey Kladov2019-08-231-2/+10
|
*-. Merge #1721 #1723bors[bot]2019-08-222-1/+30
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1721: Impl/dyn trait r=flodiebold a=flodiebold This adds support for `impl Trait` and `dyn Trait` types as far as possible without Chalk. So we can represent them in the type system, and handle them in method resolution, but Chalk doesn't know about them yet. There's a small temporary hack here where we bypass Chalk during method resolution, so we can handle simple method calls on them and completion works. Fixes #1608. 1723: Make sysroot use `RUST_SRC_PATH` if set r=matklad a=bkchr Co-authored-by: Florian Diebold <[email protected]> Co-authored-by: Bastian Köcher <[email protected]>
| * | Improve/fix type bound loweringFlorian Diebold2019-08-221-26/+29
| | |
| * | Add `impl Trait` and `dyn Trait` typesFlorian Diebold2019-08-222-1/+27
| |/ | | | | | | | | | | | | - refactor bounds handling in the AST a bit - add HIR for bounds - add `Ty::Dyn` and `Ty::Opaque` variants and lower `dyn Trait` / `impl Trait` syntax to them
* / Add test for nested box patternDylan MacKenzie2019-08-222-12/+49
|/
* Don't add `?` bounds as real boundsAleksey Kladov2019-08-221-0/+12
| | | | closes #1709
* :arrow_up: rustc_lexerAleksey Kladov2019-08-203-117/+75
|
* remove ast::*Kind enumsAleksey Kladov2019-08-192-353/+347
| | | | With the new owned trees, we don't need an indirection here
* use new quote-generated astAleksey Kladov2019-08-182-1289/+1408
|
* use quote! macro to generate grammarAleksey Kladov2019-08-181-27/+27
| | | | | We already use syn&quote elsewhere (transitively), so it make sense to cut down on the number of technologies and get rid of tera
* deserialize grammarAleksey Kladov2019-08-181-53/+53
|
* Introduce separate hir::BinaryOpAleksey Kladov2019-08-171-6/+0
| | | | | 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
|
* Merge #1685bors[bot]2019-08-154-0/+129
|\ | | | | | | | | | | | | | | 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-145-108/+124
| |
| * fix testbravomikekilo2019-08-141-2/+2
| |
| * fix error of RangeFrom in for-loopbravomikekilo2019-08-142-0/+113
| |
* | Merge #1676bors[bot]2019-08-142-1/+83
|\ \ | |/ |/| | | | | | | | | | | 1676: Fix for<'lifetime> for types specified by path r=matklad a=eupn Fixes #1467. Co-authored-by: Evgenii P <[email protected]>
| * Fix for<'lifetime> for types specified by pathEvgenii P2019-08-112-1/+83
| |
* | Merge #1636bors[bot]2019-08-132-0/+69
|\ \ | | | | | | | | | | | | | | | | | | | | | 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-132-0/+69
| | |
* | | Lower fully qualified associated type pathsFlorian Diebold2019-08-121-0/+10
| |/ |/| | | | | I.e. `<T as Trait>::Foo`.
* | Move numeric names inside of `NameRef`Aleksey Kladov2019-08-095-25/+32
| |
* | Parse tuple struct field initializationEvgenii P2019-08-092-6/+28
| |
* | 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-088-0/+559
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-0818-485/+576
| | |
| * | Fix variadic arg inline testEvgenii P2019-08-072-24/+24
| | |
| * | Add function parameters attributesEvgenii P2019-08-0714-21/+489
| | |
* | | assoc types boundsAleksey Kladov2019-08-072-0/+56
|/ /