Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
* | Add an expr_source method analogous to the source methods in the code model | Florian Diebold | 2019-09-02 | 8 | -60/+107 | |
| | | | | ... and use that instead of exposing the source map. | |||||
* | Report type mismatches in analysis-stats | Florian Diebold | 2019-09-02 | 3 | -8/+44 | |
| | | | | Only the number usually; each one individually when running with -v. | |||||
* | :arrow_up: once_cell | Aleksey Kladov | 2019-09-01 | 3 | -3/+3 | |
| | ||||||
* | cleanup main loop | Aleksey Kladov | 2019-08-31 | 8 | -221/+172 | |
| | ||||||
* | inline thread-worker | Aleksey Kladov | 2019-08-30 | 5 | -16/+3 | |
| | ||||||
* | :arrow_up: lsp-server | Aleksey Kladov | 2019-08-30 | 4 | -82/+81 | |
| | ||||||
* | move lsp-server to a separate repository | Aleksey Kladov | 2019-08-30 | 13 | -693/+127 | |
| | ||||||
* | :arrow_up: insta | Aleksey Kladov | 2019-08-29 | 25 | -1327/+1425 | |
| | ||||||
* | 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 #1735 | bors[bot] | 2019-08-25 | 6 | -10/+19 | |
|\ | | | | | | | | | | | | | | | 1735: :arrow_up: vfs r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]> | |||||
| * | :arrow_up: vfs | Aleksey Kladov | 2019-08-25 | 6 | -10/+19 | |
| | | ||||||
* | | Merge #1734 | bors[bot] | 2019-08-25 | 6 | -5/+319 | |
|\ \ | | | | | | | | | | | | | | | | | | | | | | 1734: Strip indents and empty lines in check_apply_diagnostic_fix_from_position r=matklad a=matklad Co-authored-by: Phil Ellison <[email protected]> | |||||
| * | | Strip indents and empty lines in check_apply_diagnostic_fix_from_position | Phil Ellison | 2019-08-25 | 1 | -36/+55 | |
| | | | ||||||
| * | | Specify cursor position in ok-wrapping tests, and switch to using ↵ | Phil Ellison | 2019-08-25 | 2 | -35/+31 | |
| | | | | | | | | | | | | analysis_and_position function | |||||
| * | | Simplify checking return type, add new test | Phil Ellison | 2019-08-25 | 2 | -23/+32 | |
| | | | ||||||
| * | | Fix build for Diagnostic type change | Phil Ellison | 2019-08-25 | 1 | -7/+4 | |
| | | | ||||||
| * | | Cast SyntaxNodePtr to AstPtr directly | Phil Ellison | 2019-08-25 | 2 | -14/+10 | |
| | | | ||||||
| * | | Remove reliance on expr ordering | Phil Ellison | 2019-08-25 | 1 | -10/+4 | |
| | | | ||||||
| * | | cargo format | Phil Ellison | 2019-08-25 | 2 | -23/+23 | |
| | | | ||||||
| * | | Change test to not rely on trait inference | Phil Ellison | 2019-08-25 | 1 | -12/+7 | |
| | | | ||||||
| * | | Check type rather than just name in ok-wrapping diagnostic. Add test for ↵ | Phil Ellison | 2019-08-25 | 3 | -8/+77 | |
| | | | | | | | | | | | | handling generic functions (which currently fails) | |||||
| * | | Add test that ok-wrapping handles type aliases | Phil Ellison | 2019-08-25 | 1 | -0/+38 | |
| | | | ||||||
| * | | Mock std String and Result types in tests for ok-wrapping diagnostic | Phil Ellison | 2019-08-25 | 3 | -16/+65 | |
| | | | ||||||
| * | | 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 | 4 | -3/+136 | |
| |/ | ||||||
* | | Generate and bless tests | Dylan MacKenzie | 2019-08-24 | 7 | -85/+227 | |
| | | ||||||
* | | Handle `Struct { box i }` syntax | Dylan MacKenzie | 2019-08-24 | 1 | -0/+3 | |
| | | | | | | | | | | | | Named structs can have `box` patterns that will bind to their fields. This is similar to the behavior of the `ref` and `mut` fields, but is at least a little bit surprising. | |||||
* | | Centralize `box` pattern tests in `patterns.rs` | Dylan MacKenzie | 2019-08-24 | 3 | -7/+6 | |
| | | ||||||
* | | Convert `BoxPat` to `Missing` in HIR | Dylan MacKenzie | 2019-08-24 | 1 | -0/+1 | |
| | | ||||||
* | | Parse `BoxPat` | Dylan MacKenzie | 2019-08-24 | 1 | -19/+32 | |
| | | ||||||
* | | Add `BoxPat` variant | Dylan MacKenzie | 2019-08-23 | 3 | -2/+41 | |
|/ | ||||||
* | rename struct -> record, pos -> tuple | Aleksey Kladov | 2019-08-23 | 78 | -592/+598 | |
| | ||||||
* | make ast object safe | Aleksey Kladov | 2019-08-23 | 2 | -4/+15 | |
| | ||||||
* | Merge #1724 | bors[bot] | 2019-08-23 | 3 | -132/+170 | |
|\ | | | | | | | | | | | | | | | 1724: Refactor fill_match_arms assist to use AstBuilder facilities r=matklad a=viorina Co-authored-by: Ekaterina Babshukova <[email protected]> | |||||
| * | refactor fill_match_arms assist | Ekaterina Babshukova | 2019-08-22 | 3 | -132/+170 | |
| | | ||||||
| | | ||||||
| \ | ||||||
*-. \ | Merge #1721 #1723 | bors[bot] | 2019-08-22 | 10 | -55/+470 | |
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1721: Impl/dyn trait r=flodiebold a=flodiebold This adds support for `impl Trait` and `dyn Trait` types as far as possible without Chalk. So we can represent them in the type system, and handle them in method resolution, but Chalk doesn't know about them yet. There's a small temporary hack here where we bypass Chalk during method resolution, so we can handle simple method calls on them and completion works. Fixes #1608. 1723: Make sysroot use `RUST_SRC_PATH` if set r=matklad a=bkchr Co-authored-by: Florian Diebold <[email protected]> Co-authored-by: Bastian Köcher <[email protected]> | |||||
| | * | | Make sysroot use `RUST_SRC_PATH` if set | Bastian Köcher | 2019-08-22 | 1 | -11/+21 | |
| | |/ | ||||||
| * | | Improve/fix type bound lowering | Florian Diebold | 2019-08-22 | 3 | -30/+64 | |
| | | | ||||||
| * | | 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 | 8 | -42/+366 | |
| |/ | | | | | | | | | | | | | - 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 |