Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | Merge #1873 | bors[bot] | 2019-09-19 | 1 | -0/+15 | |
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1873: `fold_kind`: `MATCH_ARM_LIST => FoldKind::Block` r=matklad a=Centril As suggested by @matklad in https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/folding.20of.20.60match.60.20and.20.60if.60/near/176109093. This should let folks fold all the arms in a `match` expression rather than just each arm individually. Co-authored-by: Mazdak Farrokhzad <[email protected]> | |||||
| * | | Pacify rustfmt. | Mazdak Farrokhzad | 2019-09-19 | 1 | -4/+1 | |
| | | | ||||||
| * | | `fold_kind`: `MATCH_ARM_LIST => FoldKind::Block` | Mazdak Farrokhzad | 2019-09-19 | 1 | -0/+18 | |
| | | | ||||||
* | | | Merge #1874 | bors[bot] | 2019-09-19 | 2 | -34/+28 | |
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | 1874: move fold conversino to conv.rs r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]> | |||||
| * | | move fold conversino to conv.rs | Aleksey Kladov | 2019-09-19 | 2 | -34/+28 | |
| | | | ||||||
| * | | fix typo | Aleksey Kladov | 2019-09-19 | 1 | -1/+1 | |
| |/ | ||||||
* / | slightly cleanup macro tests | Aleksey Kladov | 2019-09-19 | 1 | -185/+159 | |
|/ | ||||||
* | tweak installation process | Aleksey Kladov | 2019-09-18 | 2 | -19/+26 | |
| | ||||||
* | account for impls generated by macros | Aleksey Kladov | 2019-09-18 | 3 | -28/+74 | |
| | ||||||
* | Merge #1862 | bors[bot] | 2019-09-17 | 19 | -261/+358 | |
|\ | | | | | | | | | | | | | | | 1862: Assoc item resolution refactoring (again) r=flodiebold a=flodiebold This is #1849, with the associated type selection code removed for now. Handling cycles there will need some more thought. Co-authored-by: Florian Diebold <[email protected]> | |||||
| * | Remove assoc type selection code for now to fix crashes | Florian Diebold | 2019-09-17 | 2 | -25/+10 | |
| | | ||||||
| * | Add test for `T::Item` cycles | Florian Diebold | 2019-09-17 | 1 | -0/+42 | |
| | | ||||||
| * | Remove TraitItem and ImplItem in favor of AssocItem | Florian Diebold | 2019-09-17 | 9 | -93/+46 | |
| | | ||||||
| * | Small review improvements | Florian Diebold | 2019-09-17 | 1 | -5/+3 | |
| | | ||||||
| * | Add test for `<T>::Item` | Florian Diebold | 2019-09-17 | 1 | -10/+22 | |
| | | ||||||
| * | Refactor some more | Florian Diebold | 2019-09-17 | 4 | -57/+100 | |
| | | | | | | | | | | | | Type-relative paths (`<T>::foo`) also need to work in type context, for example `<T>::Item` is legal. So rather than returning the type ref from the resolver function, just check it before. | |||||
| * | Refactor associated item resolution more | Florian Diebold | 2019-09-17 | 2 | -124/+120 | |
| | | | | | | | | | | When resolving an associated item in value namespace, use the `Ty` lowering code for the segments before the last instead of replicating it. | |||||
| * | Refactor a bit to prepare for resolving trait assoc items | Florian Diebold | 2019-09-17 | 10 | -52/+83 | |
| | | ||||||
| * | Resolve assoc types on type parameters | Florian Diebold | 2019-09-17 | 2 | -24/+61 | |
| | | | | | | | | | | | | E.g. `fn foo<T: Iterator>() -> T::Item`. It seems that rustc does this only for type parameters and only based on their bounds, so we also only consider traits from bounds. | |||||
| * | Adapt some tests | Florian Diebold | 2019-09-17 | 1 | -12/+12 | |
| | | ||||||
* | | remove confusing code | Aleksey Kladov | 2019-09-17 | 1 | -31/+1 | |
| | | | | | | | | | | | | I must confess I don't really understand what this code is trying to do, but it definitely misreports changes during fixedpoint iteration, and no tests fail if I remove it, so... | |||||
* | | show error log by default | Aleksey Kladov | 2019-09-17 | 1 | -1/+1 | |
|/ | ||||||
* | use usual token tree for macro expansion | Aleksey Kladov | 2019-09-17 | 10 | -933/+753 | |
| | ||||||
* | split mbe expander code into two modules | Aleksey Kladov | 2019-09-17 | 3 | -418/+448 | |
| | ||||||
* | Merge #1817 | bors[bot] | 2019-09-16 | 12 | -148/+235 | |
|\ | | | | | | | | | | | | | | | 1817: Support path starting with a type r=matklad a=uHOOCCOOHu The path syntax `<Ty>::foo` Co-authored-by: uHOOCCOOHu <[email protected]> | |||||
| * | Define known paths and group names | uHOOCCOOHu | 2019-09-15 | 6 | -49/+63 | |
| | | ||||||
| * | Move store TypeRef of type based path in PathKind | uHOOCCOOHu | 2019-09-15 | 4 | -21/+11 | |
| | | ||||||
| * | Support path starting with a type | uHOOCCOOHu | 2019-09-15 | 10 | -128/+211 | |
| | | ||||||
* | | Remove `is_unnamed` | Dylan MacKenzie | 2019-09-16 | 1 | -4/+0 | |
| | | ||||||
* | | Gracefully handle `const _` items in `ConstData` | Dylan MacKenzie | 2019-09-16 | 2 | -5/+9 | |
|/ | ||||||
* | Merge #1848 | bors[bot] | 2019-09-15 | 12 | -17/+573 | |
|\ | | | | | | | | | | | | | | | | | | | | | | | 1848: Parse `..` as a full pattern r=matklad a=ecstatic-morse Resolves #1479. This PR implements [RFC 2707](https://github.com/rust-lang/rfcs/pull/2707) in the parser. It introduces a new `DotDotPat` AST node modeled on `PlaceholderPat` and changes the parsing of tuple and slice patterns to conform to the RFC. Notably, this PR does *not* change the resulting AST when `..` appears in a struct pattern (e.g. `Struct { a, b: c, .. }`). I *think* this is the behavior mandated by RFC 2707, but someone should confirm this. Co-authored-by: Dylan MacKenzie <[email protected]> | |||||
| * | Generate `dot_dot_test` | Dylan MacKenzie | 2019-09-15 | 2 | -0/+481 | |
| | | ||||||
| * | Bless old tests containing a `..` pattern | Dylan MacKenzie | 2019-09-15 | 5 | -5/+10 | |
| | | ||||||
| * | Parse `..` as a proper pattern | Dylan MacKenzie | 2019-09-15 | 1 | -10/+42 | |
| | | ||||||
| * | Add `DotDotPat` to AST | Dylan MacKenzie | 2019-09-15 | 4 | -2/+40 | |
| | | | | | | | | This is modeled on `PlaceholderPat`. | |||||
* | | Add tests for underscores in `const` and `static` items | Dylan MacKenzie | 2019-09-15 | 3 | -38/+78 | |
| | | ||||||
* | | Allow an underscore as the identifier in `const` items | Dylan MacKenzie | 2019-09-15 | 3 | -2/+12 | |
|/ | ||||||
* | Remove a dbg! | Florian Diebold | 2019-09-14 | 1 | -1/+1 | |
| | ||||||
* | Support bare `Trait` without dyn | Florian Diebold | 2019-09-14 | 2 | -12/+11 | |
| | ||||||
* | Upgrade Chalk | Florian Diebold | 2019-09-14 | 3 | -58/+0 | |
| | | | | ... and remove Ty::UnselectedProjection. It'll be handled differently. | |||||
* | rename add_resolution -> add_scope_def | Aleksey Kladov | 2019-09-13 | 1 | -18/+0 | |
| | ||||||
* | make PerNs non-generic | Aleksey Kladov | 2019-09-13 | 4 | -34/+30 | |
| | ||||||
* | Specify desirable namespace when calling resolve | Aleksey Kladov | 2019-09-13 | 13 | -464/+534 | |
| | | | | That way, we are able to get rid of a number of unreachable statements | |||||
* | rename AdtDef -> Adt | Aleksey Kladov | 2019-09-12 | 20 | -99/+90 | |
| | ||||||
* | generalize impl_froms to nested enums | Aleksey Kladov | 2019-09-12 | 4 | -58/+26 | |
| | ||||||
* | make various enums "inherit" from AdtDef | Aleksey Kladov | 2019-09-12 | 17 | -121/+156 | |
| | ||||||
* | start cleaning up the resolution | Aleksey Kladov | 2019-09-12 | 5 | -49/+59 | |
| | | | | | | | Nameres related types, like `PerNs<Resolution>`, can represent unreasonable situations, like a local in a type namespace. We should clean this up, by requiring that call-site specifies the kind of resolution it expects. | |||||
* | add macros with local_inner_macros argument | JasperDeSutter | 2019-09-12 | 2 | -1/+40 | |
| | ||||||
* | Merge #1818 | bors[bot] | 2019-09-12 | 7 | -4/+107 | |
|\ | | | | | | | | | | | | | | | 1818: Infer box expression r=matklad a=uHOOCCOOHu Infer `box e` to be `std::boxed::Box<T>` where `e: T` Co-authored-by: uHOOCCOOHu <[email protected]> | |||||
| * | Infer box expression | uHOOCCOOHu | 2019-09-11 | 7 | -4/+107 | |
| | |