Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add resolve_extern_path in DB | Edwin Cheng | 2020-03-10 | 1 | -0/+7 |
| | |||||
* | Updates insta to 0.15.0 and bumps console to 0.10.0 | kjeremy | 2020-03-09 | 1 | -1/+1 |
| | |||||
* | Use `Index` for CrateGraph | Aleksey Kladov | 2020-03-09 | 1 | -1/+1 |
| | |||||
* | Less abstract CrateData api | Kirill Bulatov | 2020-03-09 | 1 | -1/+1 |
| | |||||
* | Prevent include! macro include itself | Edwin Cheng | 2020-03-07 | 1 | -0/+18 |
| | |||||
* | Use a not so dummy implementation of env macro | Edwin Cheng | 2020-03-07 | 1 | -0/+27 |
| | |||||
* | Normalize waiting queries names | Aleksey Kladov | 2020-03-06 | 3 | -10/+10 |
| | |||||
* | Don't reuse the Chalk solver | Florian Diebold | 2020-03-06 | 2 | -92/+28 |
| | | | | | This slows down analysis-stats a bit (~5% in my measurement), but improves incremental checking a lot because we can reuse trait solve results. | ||||
* | Resolve `Self::AssocTy` in impls | Florian Diebold | 2020-03-06 | 3 | -38/+93 |
| | | | | | | | | | | To do this we need to carry around the original resolution a bit, because `Self` gets resolved to the actual type immediately, but you're not allowed to write the equivalent type in a projection. (I tried just comparing the projection base type with the impl self type, but that seemed too dirty.) This is basically how rustc does it as well. Fixes #3249. | ||||
* | Allow specifying additional info on call to profile | Aleksey Kladov | 2020-03-06 | 2 | -2/+14 |
| | |||||
* | Less confusing profile names | Aleksey Kladov | 2020-03-06 | 2 | -2/+2 |
| | |||||
* | Merge #3494 | bors[bot] | 2020-03-06 | 1 | -0/+45 |
|\ | | | | | | | | | | | | | | | | | | | | | | | 3494: Implement include macro r=matklad a=edwin0cheng This PR implement builtin `include` macro. * It does not support include as expression yet. * It doesn't consider `env!("OUT_DIR")` yet. Co-authored-by: Edwin Cheng <[email protected]> | ||||
| * | Implment include macro | Edwin Cheng | 2020-03-06 | 1 | -0/+45 |
| | | |||||
* | | Support aliases and Self in struct literals | Florian Diebold | 2020-03-06 | 2 | -1/+68 |
| | | | | | | | | Fixes #3306. | ||||
* | | Source map returns a result | Aleksey Kladov | 2020-03-06 | 2 | -8/+13 |
|/ | | | | cc #2236 | ||||
* | Fix panic on eager expansion | Edwin Cheng | 2020-03-03 | 1 | -0/+21 |
| | |||||
* | Add test | Edwin Cheng | 2020-03-03 | 1 | -0/+19 |
| | |||||
* | Drop larlpop-intern dep | Laurențiu Nicola | 2020-03-03 | 2 | -4/+2 |
| | |||||
* | Update chalk for Ty interners | Laurențiu Nicola | 2020-03-02 | 2 | -11/+14 |
| | |||||
* | Update chalk for RawId removal | Laurențiu Nicola | 2020-03-02 | 2 | -16/+10 |
| | |||||
*-. | Merge #3397 #3398 | bors[bot] | 2020-03-02 | 1 | -6/+2 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3397: Minimal viable meta r=matklad a=matklad bors r+ 🤖 3398: Reformat? r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]> | ||||
| | * | Reformat? | Aleksey Kladov | 2020-03-02 | 1 | -6/+2 |
| |/ | |||||
* | | Merge #3385 | bors[bot] | 2020-03-02 | 4 | -6/+45 |
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | 3385: Fix #3373 r=matklad a=flodiebold Basically, we need to allow variables in the caller self type to unify with the impl's declared self type. That requires some more contortions in the variable handling. I'm looking forward to (hopefully) handling this in a cleaner way when we switch to Chalk's types and unification code. Co-authored-by: Florian Diebold <[email protected]> | ||||
| * | Fix #3373 | Florian Diebold | 2020-03-01 | 4 | -6/+45 |
| | | | | | | | | | | | | | | Basically, we need to allow variables in the caller self type to unify with the impl's declared self type. That requires some more contortions in the variable handling. I'm looking forward to (hopefully) handling this in a cleaner way when we switch to Chalk's types and unification code. | ||||
* | | handle array pattern matching type inference | Josh Mcguigan | 2020-03-01 | 2 | -10/+55 |
| | | |||||
* | | remove match statement, handle suffix | Josh Mcguigan | 2020-03-01 | 2 | -14/+11 |
| | | |||||
* | | handle arbitrary length slices | Josh Mcguigan | 2020-03-01 | 2 | -12/+29 |
| | | |||||
* | | match single prefix slice | Josh Mcguigan | 2020-03-01 | 2 | -1/+48 |
|/ | |||||
* | Do autoderef for indexing | Florian Diebold | 2020-02-29 | 4 | -7/+74 |
| | |||||
* | Do array unsizing for method receivers | Florian Diebold | 2020-02-29 | 2 | -2/+37 |
| | | | | | | | It turns out rustc actually only unsizes array method receivers, so we don't need to do any trait solving for this (at least for now). Fixes #2670. | ||||
* | Rename ast::ImplBlock -> ast::ImplDef | Aleksey Kladov | 2020-02-29 | 6 | -29/+28 |
| | |||||
* | Fix a common false-positive type mismatch | Florian Diebold | 2020-02-29 | 3 | -9/+71 |
| | | | | | | | | | E.g. for `&{ some_string() }` in a context where a `&str` is expected, we reported a mismatch inside the block. The problem is that we're passing an expectation of `str` down, but the expectation is more of a hint in this case. There's a long comment in rustc about this, which I just copied. Also, fix reported location for type mismatches in macros. | ||||
* | Basic injections | Aleksey Kladov | 2020-02-27 | 1 | -2/+2 |
| | |||||
* | Bump chalk and replace TypeFamily with Interner | Laurențiu Nicola | 2020-02-24 | 3 | -59/+68 |
| | |||||
* | Shorten some code | Florian Diebold | 2020-02-22 | 1 | -4/+1 |
| | |||||
* | Rework find_super_trait_path to protect against cycles | Florian Diebold | 2020-02-22 | 5 | -23/+74 |
| | |||||
* | Fix shift_bound_vars | Florian Diebold | 2020-02-22 | 1 | -3/+3 |
| | | | | It should only shift free vars (maybe the name isn't the best...) | ||||
* | Fix wrong handling of bare `dyn Trait` exposed by canonicalizer fix | Florian Diebold | 2020-02-22 | 1 | -1/+3 |
| | | | | | The self type in the `dyn Trait` trait ref should always be ^0, but we didn't put that in there in the bare case. | ||||
* | Add &dyn Trait -> &dyn SuperTrait coercion, and fix &T -> &dyn Trait | Florian Diebold | 2020-02-22 | 4 | -44/+132 |
| | |||||
* | Fix handling of binders in canonicalization | Florian Diebold | 2020-02-22 | 1 | -64/+35 |
| | | | | I'm looking forward to getting rid of this in favor of Chalk's implementation. | ||||
* | Implement dyn Trait unsizing as well | Florian Diebold | 2020-02-22 | 5 | -9/+136 |
| | |||||
* | Implement unsize coercion using proper trait solving | Florian Diebold | 2020-02-22 | 5 | -187/+170 |
| | |||||
* | Fix handling of const patterns | Florian Diebold | 2020-02-21 | 2 | -2/+48 |
| | | | | | | | | | E.g. in `match x { None => ... }`, `None` is a path pattern (resolving to the option variant), not a binding. To determine this, we need to try to resolve the name during lowering. This isn't too hard since we already need to resolve names for macro expansion anyway (though maybe a bit hacky). Fixes #1618. | ||||
* | Normalize associated types in types coming from Chalk | Florian Diebold | 2020-02-21 | 2 | -1/+46 |
| | | | | Fixes #3232. | ||||
* | Merge #3215 | bors[bot] | 2020-02-19 | 2 | -6/+34 |
|\ | | | | | | | | | | | | | | | | | | | 3215: Exclude methods from non-parameter types introduced by generic constraints r=flodiebold a=lnicola Fixes #3184. r? @flodiebold Co-authored-by: Laurențiu Nicola <[email protected]> | ||||
| * | Exclude methods from non-parameter types introduced by generic constraints | Laurențiu Nicola | 2020-02-19 | 2 | -6/+34 |
| | | |||||
* | | Fill missing fields of enum variants | Aleksey Kladov | 2020-02-19 | 1 | -7/+11 |
|/ | |||||
* | Update versions | Kirill Bulatov | 2020-02-18 | 1 | -4/+4 |
| | |||||
* | More manual clippy fixes | Kirill Bulatov | 2020-02-18 | 12 | -54/+38 |
| | |||||
* | Run cargo +nightly fix --clippy -Z unstable-options | Kirill Bulatov | 2020-02-18 | 10 | -76/+66 |
| |