aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | Merge #1081bors[bot]2019-04-014-9/+66
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1081: Async closure syntax r=matklad a=robojumper Fixes #1080. Also fixes an error introduced by #1072 where something like `async move "foo"` in expression position would trigger the assertion in `block_expr`. Co-authored-by: robojumper <[email protected]>
| * | | | Async closure syntaxrobojumper2019-03-314-9/+66
| | | | |
* | | | | switch to new rowanAleksey Kladov2019-04-0149-1220/+1019
|/ / / /
* | | | Add WherePred to allow predicate access in WhereClauseVille Penttinen2019-03-315-8/+132
| | | | | | | | | | | | | | | | | | | | This also unifies parsing of WHERE_PRED bounds, now Lifetime bounds will also be parsed using TYPE_BOUND_LIST
* | | | Merge #1072bors[bot]2019-03-314-3/+43
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1072: recognize async move blocks r=matklad a=memoryruins closes #1053 Co-authored-by: memoryruins <[email protected]>
| * | | | add test for async blocksmemoryruins2019-03-282-0/+40
| | | | |
| * | | | recognize async movememoryruins2019-03-282-3/+3
| | |/ / | |/| |
* | | | Add trait ast::TypeBoundsOwnerVille Penttinen2019-03-313-5/+21
| | | |
* | | | Update testsVille Penttinen2019-03-313-67/+115
| | | |
* | | | Change parsing bounds in path_typesVille Penttinen2019-03-312-11/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now bounds inside a path are parsed as DYN_TRAIT_TYPE, previously they would be parsed as `PATH_TYPE` followed by `TYPE_BOUND_LIST`. Basically this means `Box<T + 'f>` is now parsed almost the same as `Box<dyn T + 'f>` with the exception of not having the `dyn` keyword.
* | | | Move parsing a single TYPE_BOUND to a separate functionVille Penttinen2019-03-301-19/+26
| | | |
* | | | Update testsVille Penttinen2019-03-3025-418/+634
| | | |
* | | | Add new TYPE_BOUND_LIST and TYPE_BOUND syntax kindsVille Penttinen2019-03-305-2/+95
| | | | | | | | | | | | | | | | | | | | | | | | These are now used when parsing type bounds. In addition parsing paths inside a bound now does not recursively parse paths, rather they are treated as separate bounds, separated by +.
* | | | Fix parsing <= in type_argsVille Penttinen2019-03-304-6/+29
|/ / /
* | | Add tests to ra_syntax for extern_crate_selfmemoryruins2019-03-282-1/+17
| | |
* | | Add extern_crate_self to ra_parser.memoryruins2019-03-281-0/+4
| | |
* | | update salsa some moreAleksey Kladov2019-03-271-1/+1
|/ /
* | :arrow_up: salsaAleksey Kladov2019-03-271-1/+1
| |
* | Use EXE extension for pre-commit hook on WindowHrvoje Ban2019-03-271-1/+5
| |
* | Flip any binary expression except assignments.Marco Groppo2019-03-261-64/+56
| |
* | Merge branch 'master' of github.com:rust-analyzer/rust-analyzer into ↵Marco Groppo2019-03-2625-811/+990
|\ \ | | | | | | | | | flip-binexpr
| * | more realistic test for incrementalityAleksey Kladov2019-03-261-5/+22
| | |
| * | Merge #1059bors[bot]2019-03-2611-209/+233
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1059: Typed ids r=matklad a=matklad just some type-safety and refactorings. closes https://github.com/rust-analyzer/rust-analyzer/issues/1054 bors r+ Co-authored-by: Aleksey Kladov <[email protected]>
| | * | reduce visibilityAleksey Kladov2019-03-262-12/+12
| | | |
| | * | renameAleksey Kladov2019-03-267-56/+44
| | | |
| | * | simplifyAleksey Kladov2019-03-263-21/+21
| | | |
| | * | make stuff privateAleksey Kladov2019-03-261-26/+14
| | | |
| | * | more type safetyAleksey Kladov2019-03-265-63/+82
| | | |
| | * | strongy-typed ids for macrosAleksey Kladov2019-03-264-33/+19
| | | |
| | * | add typed idsAleksey Kladov2019-03-267-45/+88
| | | |
| * | | Merge #1051bors[bot]2019-03-265-378/+391
| |\ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | 1051: Move ra_ide_api unit tests r=matklad a=detrumi Closes #1048 Co-authored-by: Wilco Kusee <[email protected]>
| | * | Move ra_ide_api unit testsWilco Kusee2019-03-255-378/+391
| | | |
| * | | remove some dead codeAleksey Kladov2019-03-261-17/+1
| | | |
| * | | simplifyAleksey Kladov2019-03-263-8/+6
| | | |
| * | | move source_id to a separate fileAleksey Kladov2019-03-268-120/+128
| | | |
| * | | make macro parsing a queryAleksey Kladov2019-03-263-5/+8
| | | |
| * | | reduce visibilityAleksey Kladov2019-03-261-23/+27
| | | |
| * | | store macro def inside macro idAleksey Kladov2019-03-267-119/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This solves the problem of "macro expansion can't call into name resolution, because name resolution calls back into macro expansion" Because we store macro def as a part of call id, macro expansion just knows the def!
| * | | Clean up comments / use nicer Iterator methodsFlorian Diebold2019-03-252-10/+15
| | | |
| * | | Implement a very naive implements checkFlorian Diebold2019-03-254-12/+50
| | | | | | | | | | | | | | | | ... to make the infer_trait_method_simple test have the correct result.
| * | | Basics for trait method resolutionFlorian Diebold2019-03-2511-25/+156
| |/ /
* / / Assist to flip (some) binary expressions.Marco Groppo2019-03-253-88/+151
|/ / | | | | | | This assist can flip the following operators: ==, !=, >, >=, <, <=.
* | Merge #1037bors[bot]2019-03-252-0/+300
|\ \ | | | | | | | | | | | | | | | | | | | | | 1037: inline immutable local varialbe r=matklad a=gfreezy resolved #1033 Co-authored-by: gfreezy <[email protected]>
| * | use | instead of multiple match armsgfreezy2019-03-251-27/+27
| | |
| * | inline immutable local varialbegfreezy2019-03-252-0/+300
| | |
* | | Merge #1034bors[bot]2019-03-2515-165/+424
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1034: HIR diagnostics API r=matklad a=matklad This PR introduces diagnostics API for HIR, so we can now start issuing errors and warnings! Here are requirements that this solution aims to fulfill: * structured diagnostics: rather than immediately rendering error to string, we provide a well-typed blob of data with error-description. These data is used by IDE to provide fixes * open set diagnostics: there's no single enum with all possible diagnostics, which hopefully should result in better modularity The `Diagnostic` trait describes "a diagnostic", which can be downcast to a specific diagnostic kind. Diagnostics are expressed in terms of macro-expanded syntax tree: they store pointers to syntax nodes. Diagnostics are self-contained: you don't need any context, besides `db`, to fully understand the meaning of a diagnostic. Because diagnostics are tied to the source, we can't store them in salsa. So subsystems like type-checking produce subsystem-local diagnostic (which is a closed `enum`), which is expressed in therms of subsystem IR. A separate step converts these proto-diagnostics into `Diagnostic`, by merging them with source-maps. Note that this PR stresses type-system quite a bit: we now type-check every function in open files to compute errors! Discussion on Zulip: https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Diagnostics.20API Co-authored-by: Aleksey Kladov <[email protected]>
| * | | move tests to where they belongAleksey Kladov2019-03-254-44/+32
| | | |
| * | | simplifyAleksey Kladov2019-03-251-6/+1
| | | |
| * | | tweak diagnostics APIAleksey Kladov2019-03-253-11/+16
| | | |
| * | | test diagnosticsAleksey Kladov2019-03-253-1/+61
| | | |