Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | move mod resolution to a separate file | Aleksey Kladov | 2019-09-05 | 3 | -183/+190 |
| | |||||
* | Merge #1743 | bors[bot] | 2019-09-05 | 5 | -12/+117 |
|\ | | | | | | | | | | | | | | | 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]> | ||||
| * | Fix typo | uHOOCCOOHu | 2019-09-05 | 1 | -2/+2 |
| | | |||||
| * | Let `macro_use` bypass module scope | uHOOCCOOHu | 2019-09-05 | 2 | -35/+52 |
| | | |||||
| * | Fix import strategy of `macro_use` and its test | uHOOCCOOHu | 2019-09-02 | 4 | -9/+26 |
| | | |||||
| * | Add test | uHOOCCOOHu | 2019-08-31 | 1 | -5/+50 |
| | | |||||
| * | Support resolution of `#[macro_use] extern crate` | uHOOCCOOHu | 2019-08-31 | 2 | -2/+28 |
| | | |||||
* | | Make type walking infrastructure a bit nicer | Florian Diebold | 2019-09-03 | 8 | -133/+132 |
| | | | | | | | | | | If/when we switch to using Chalk's Ty, we'll need to replace this by its `Fold` trait, but I didn't want to import the whole thing just yet. | ||||
* | | Properly format `impl Trait<Type = Foo>` types | Florian Diebold | 2019-09-03 | 2 | -23/+97 |
| | | | | | | | | | | | | It's a bit complicated because we basically have to 'undo' the desugaring, and the result is very dependent on the specifics of the desugaring and will probably produce weird results otherwise. | ||||
* | | Add support for associated type bindings (`where Trait<Type = X>`) | Florian Diebold | 2019-09-03 | 6 | -52/+183 |
| | | |||||
* | | Add test for assoc type bindings | Florian Diebold | 2019-09-03 | 1 | -0/+65 |
| | | |||||
* | | Correctly build BodySourceMap for macro-expanded expressions | Aleksey Kladov | 2019-09-03 | 6 | -66/+119 |
| | | |||||
* | | slightly simplify expr lowering flow | Aleksey Kladov | 2019-09-03 | 3 | -129/+136 |
| | | |||||
* | | clearer ignore | Aleksey Kladov | 2019-09-03 | 1 | -1/+1 |
| | | |||||
* | | remove needless refs | Aleksey Kladov | 2019-09-03 | 1 | -2/+2 |
| | | |||||
* | | use recrod terminology for hir::Pat | Aleksey Kladov | 2019-09-03 | 3 | -8/+7 |
| | | |||||
* | | move expr lowering to lower | Aleksey Kladov | 2019-09-03 | 3 | -653/+667 |
| | | |||||
* | | fix hir for new block syntax | Aleksey Kladov | 2019-09-02 | 6 | -42/+50 |
| | | |||||
* | | remove useless trait | Aleksey Kladov | 2019-09-02 | 1 | -2/+2 |
| | | |||||
* | | Add an expr_source method analogous to the source methods in the code model | Florian Diebold | 2019-09-02 | 6 | -30/+79 |
| | | | | | | | | ... and use that instead of exposing the source map. | ||||
* | | Report type mismatches in analysis-stats | Florian Diebold | 2019-09-02 | 2 | -7/+7 |
| | | | | | | | | Only the number usually; each one individually when running with -v. | ||||
* | | :arrow_up: once_cell | Aleksey Kladov | 2019-09-01 | 1 | -1/+1 |
|/ | |||||
* | :arrow_up: insta | Aleksey Kladov | 2019-08-29 | 8 | -1222/+1320 |
| | |||||
* | Small fixes | Kirill Bulatov | 2019-08-26 | 2 | -13/+15 |
| | |||||
* | Remove redundant tests | Kirill Bulatov | 2019-08-26 | 1 | -63/+5 |
| | |||||
* | Fix 'missing Ok in tail expr' validation | Florian Diebold | 2019-08-26 | 1 | -3/+4 |
| | | | | | Because of the coercion change, the type mismatch now only happens on the block expression. | ||||
* | Make infer_block not unify; add back calculate_least_upper_bound | Florian Diebold | 2019-08-26 | 2 | -30/+66 |
| | |||||
* | An attempt to add the coercion logic for Never | Kirill Bulatov | 2019-08-26 | 2 | -51/+98 |
| | |||||
* | Properly coerce never types | Kirill Bulatov | 2019-08-26 | 3 | -57/+46 |
| | |||||
* | Remove extra inference test | Kirill Bulatov | 2019-08-26 | 3 | -26/+0 |
| | |||||
* | Fix never in if expressions | Kirill Bulatov | 2019-08-26 | 3 | -4/+53 |
| | |||||
* | Add test marks | Kirill Bulatov | 2019-08-26 | 3 | -1/+16 |
| | |||||
* | Fix match type inference for Never match arms | Kirill Bulatov | 2019-08-26 | 2 | -6/+32 |
| | |||||
* | Tests | Kirill Bulatov | 2019-08-26 | 1 | -0/+104 |
| | |||||
* | Merge #1734 | bors[bot] | 2019-08-25 | 4 | -4/+98 |
|\ | | | | | | | | | | | | | | | 1734: Strip indents and empty lines in check_apply_diagnostic_fix_from_position r=matklad a=matklad Co-authored-by: Phil Ellison <[email protected]> | ||||
| * | Simplify checking return type, add new test | Phil Ellison | 2019-08-25 | 1 | -21/+4 |
| | | |||||
| * | Fix build for Diagnostic type change | Phil Ellison | 2019-08-25 | 1 | -7/+4 |
| | | |||||
| * | Cast SyntaxNodePtr to AstPtr directly | Phil Ellison | 2019-08-25 | 1 | -14/+3 |
| | | |||||
| * | Remove reliance on expr ordering | Phil Ellison | 2019-08-25 | 1 | -10/+4 |
| | | |||||
| * | cargo format | Phil Ellison | 2019-08-25 | 1 | -13/+12 |
| | | |||||
| * | Check type rather than just name in ok-wrapping diagnostic. Add test for ↵ | Phil Ellison | 2019-08-25 | 2 | -8/+40 |
| | | | | | | | | handling generic functions (which currently fails) | ||||
| * | Mock std String and Result types in tests for ok-wrapping diagnostic | Phil Ellison | 2019-08-25 | 1 | -2/+0 |
| | | |||||
| * | Add type_mismatches to InferenceResult and use this in ok-wrapping code fix | Phil Ellison | 2019-08-25 | 3 | -8/+27 |
| | | |||||
| * | Initial implementation of Ok-wrapping | Phil Ellison | 2019-08-25 | 3 | -3/+86 |
| | | |||||
* | | Convert `BoxPat` to `Missing` in HIR | Dylan MacKenzie | 2019-08-24 | 1 | -0/+1 |
|/ | |||||
* | rename struct -> record, pos -> tuple | Aleksey Kladov | 2019-08-23 | 6 | -45/+45 |
| | |||||
* | Improve/fix type bound lowering | Florian Diebold | 2019-08-22 | 2 | -4/+35 |
| | |||||
* | Handle impl/dyn Trait in method resolution | Florian Diebold | 2019-08-22 | 3 | -32/+79 |
| | | | | | | | | | | | | | When we have one of these, the `Trait` doesn't need to be in scope to call its methods. So we need to consider this when looking for method candidates. (Actually I think the same is true when we have a bound `T: some::Trait`, but we don't handle that yet). At the same time, since Chalk doesn't handle these types yet, add a small hack to skip Chalk in method resolution and just consider `impl Trait: Trait` always true. This is enough to e.g. get completions for `impl Trait`, but since we don't do any unification we won't infer the return type of e.g. `impl Into<i64>::into()`. | ||||
* | Add `impl Trait` and `dyn Trait` types | Florian Diebold | 2019-08-22 | 6 | -41/+339 |
| | | | | | | | - 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 | ||||
* | Don't add `?` bounds as real bounds | Aleksey Kladov | 2019-08-22 | 2 | -0/+37 |
| | | | | closes #1709 |