Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Add classify_literal and undo expose next_token | Edwin Cheng | 2019-04-05 | 3 | -2/+11 | |
| | ||||||
* | Fix literal support in token tree to ast item list | Edwin Cheng | 2019-04-05 | 2 | -2/+2 | |
| | ||||||
* | Merge #1076 | bors[bot] | 2019-04-02 | 2 | -2/+12 | |
|\ | | | | | | | | | | | | | | | | | 1076: Const body inference r=flodiebold a=Lapz This is the second part of #887. I've added type inference on const bodies and introduced the DefWithBody containing Function, Const and Static. I want to add tests but im unsure on how I would go about testing that completions work. Co-authored-by: Lenard Pratt <[email protected]> | |||||
| * | Added const bodies and static body to the ast | Lenard Pratt | 2019-04-02 | 2 | -5/+12 | |
| | | | | | | | | | | | | and added inference the inference test reduce code duplication | |||||
| * | Added defWithBody | Lenard Pratt | 2019-03-30 | 2 | -0/+3 | |
| | | ||||||
* | | simplify | Aleksey Kladov | 2019-04-02 | 7 | -400/+336 | |
| | | ||||||
* | | Merge #1090 | bors[bot] | 2019-04-02 | 1 | -11/+10 | |
|\ \ | | | | | | | | | | | | | | | | | | | | | | 1090: always show token text r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]> | |||||
| * | | always show token text | Aleksey Kladov | 2019-04-02 | 1 | -11/+10 | |
| | | | ||||||
* | | | fix inner block doc comments | Aleksey Kladov | 2019-04-02 | 1 | -1/+1 | |
|/ / | ||||||
* | | add minimal comments | Aleksey Kladov | 2019-04-02 | 5 | -0/+13 | |
| | | ||||||
* | | rename flavor to kind | Aleksey Kladov | 2019-04-02 | 3 | -26/+26 | |
| | | ||||||
* | | move extensions to submodules | Aleksey Kladov | 2019-04-02 | 3 | -549/+566 | |
| | | ||||||
* | | remove flavor | Aleksey Kladov | 2019-04-02 | 1 | -4/+4 | |
| | | ||||||
* | | More future-proof comment kind | Aleksey Kladov | 2019-04-02 | 2 | -33/+52 | |
| | | ||||||
* | | fix comment naming | Aleksey Kladov | 2019-04-02 | 1 | -10/+9 | |
| | | ||||||
* | | allow empty doc comments | Aleksey Kladov | 2019-04-02 | 1 | -4/+6 | |
| | | ||||||
* | | add ast::tokens | Aleksey Kladov | 2019-04-02 | 3 | -95/+106 | |
| | | ||||||
* | | simplify | Aleksey Kladov | 2019-04-02 | 1 | -23/+19 | |
| | | ||||||
* | | move ast traits to a separate file | Aleksey Kladov | 2019-04-02 | 2 | -144/+155 | |
| | | ||||||
* | | Merge #1084 | bors[bot] | 2019-04-01 | 3 | -37/+0 | |
|\ \ | | | | | | | | | | | | | | | | | | | | | | 1084: remove dead code r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]> | |||||
| * | | remove dead code | Aleksey Kladov | 2019-04-01 | 3 | -37/+0 | |
| | | | ||||||
* | | | intelligently add parens when inlining local varaibles | gfreezy | 2019-04-01 | 2 | -1/+10 | |
|/ / | ||||||
* | | switch to new rowan | Aleksey Kladov | 2019-04-01 | 14 | -799/+598 | |
| | | ||||||
* | | Add WherePred to allow predicate access in WhereClause | Ville Penttinen | 2019-03-31 | 3 | -2/+123 | |
| | | | | | | | | | | This also unifies parsing of WHERE_PRED bounds, now Lifetime bounds will also be parsed using TYPE_BOUND_LIST | |||||
* | | Add trait ast::TypeBoundsOwner | Ville Penttinen | 2019-03-31 | 3 | -5/+21 | |
| | | ||||||
* | | Add new TYPE_BOUND_LIST and TYPE_BOUND syntax kinds | Ville Penttinen | 2019-03-30 | 2 | -0/+81 | |
|/ | | | | | | 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 +. | |||||
* | Basics for trait method resolution | Florian Diebold | 2019-03-25 | 2 | -2/+9 | |
| | ||||||
* | Merge #1034 | bors[bot] | 2019-03-25 | 1 | -0/+6 | |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]> | |||||
| * | allow dyn diagnostics | Aleksey Kladov | 2019-03-25 | 1 | -0/+6 | |
| | | ||||||
* | | simplify | Aleksey Kladov | 2019-03-25 | 1 | -37/+34 | |
|/ | ||||||
* | Target only the actual operator. | Marco Groppo | 2019-03-24 | 1 | -33/+45 | |
| | | | | | Renamed `BinExpr::op()` and `PrefixExpr::op()` to `op_kind`. Now `op()` returns the `SyntaxNode`. | |||||
* | replace todo with fixme | Aleksey Kladov | 2019-03-23 | 1 | -1/+1 | |
| | ||||||
* | Fix reparsing failure when removing newline | pcpthm | 2019-03-21 | 1 | -0/+7 | |
| | ||||||
* | Fix reparsing bug on "{}{}" | pcpthm | 2019-03-21 | 1 | -1/+1 | |
| | ||||||
* | Completely ignore errors for reparse fuzz | pcpthm | 2019-03-21 | 1 | -1/+0 | |
| | ||||||
* | Use template text to improve reparse fuzzing | pcpthm | 2019-03-21 | 1 | -1/+5 | |
| | ||||||
* | Fix lexer not producing right token on "_" | pcpthm | 2019-03-21 | 1 | -0/+1 | |
| | ||||||
* | Fix reparsing bug when lex result is different | pcpthm | 2019-03-21 | 1 | -2/+9 | |
| | ||||||
* | Improve reparse fuzz test | pcpthm | 2019-03-21 | 1 | -1/+13 | |
| | ||||||
* | Fix an arithmetic overflow in reparser | pcpthm | 2019-03-21 | 2 | -5/+5 | |
| | ||||||
* | Add fuzz test for reparsing | pcpthm | 2019-03-21 | 1 | -1/+41 | |
| | ||||||
* | Refactor parser fuzz testing | pcpthm | 2019-03-21 | 2 | -7/+14 | |
| | ||||||
* | add name resolution from the old impl | Aleksey Kladov | 2019-03-17 | 3 | -7/+5 | |
| | | | | unlike the old impl, this also handles macro imports across crates | |||||
* | Add async keyword | Caio | 2019-03-09 | 1 | -0/+1 | |
| | ||||||
* | Remove `TypeRef` from item opts which implement TypeAscriptionOwner | Ville Penttinen | 2019-02-27 | 2 | -33/+14 | |
| | ||||||
* | Add new trait TypeAscriptionOwner | Ville Penttinen | 2019-02-26 | 3 | -9/+36 | |
| | | | | | This trait should be implemented for nodes which have an ascribed type, e.g. thing : Type. Such as let, const, static, param, named struct fields. | |||||
* | rename type to type_alias in the AST as well | Aleksey Kladov | 2019-02-25 | 3 | -52/+52 | |
| | ||||||
* | complete struct literals | Aleksey Kladov | 2019-02-24 | 1 | -0/+6 | |
| | ||||||
* | support upcastig in AST enum | Aleksey Kladov | 2019-02-24 | 2 | -0/+407 | |
| | ||||||
* | introduce tree builder | Aleksey Kladov | 2019-02-23 | 3 | -20/+61 | |
| |