Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Lower Pat::Path | Dawer | 2021-05-31 | 1 | -0/+18 |
| | |||||
* | Do not do match check if lowering failed. | Dawer | 2021-05-31 | 1 | -2/+19 |
| | |||||
* | Fix panics on pattern_arena.borrow with ugly cloning | Dawer | 2021-05-31 | 2 | -16/+15 |
| | |||||
* | Basic lowering hir_def::exrp::Pat -> typed HIR. | Dawer | 2021-05-31 | 5 | -164/+387 |
| | | | | Pattern arena is broken | ||||
* | Handle unordered fields in struct patterns | Dawer | 2021-05-31 | 1 | -2/+12 |
| | |||||
* | Complete field replacing | Dawer | 2021-05-31 | 1 | -2/+7 |
| | |||||
* | Support bool literal patterns | Dawer | 2021-05-31 | 2 | -9/+182 |
| | |||||
* | Check enum patterns | Dawer | 2021-05-31 | 3 | -6/+124 |
| | |||||
* | Build wildcard witnesses instead of panicking | Dawer | 2021-05-31 | 1 | -8/+8 |
| | |||||
* | Implement struct ctor application | Dawer | 2021-05-31 | 4 | -68/+120 |
| | |||||
* | Add remaining Constructor variants | Dawer | 2021-05-31 | 1 | -14/+56 |
| | |||||
* | Complete usefulness::SubPatSet impl | Dawer | 2021-05-31 | 1 | -3/+71 |
| | |||||
* | List useless patterns in a useful match arm | Dawer | 2021-05-31 | 1 | -9/+58 |
| | |||||
* | Remove unneeded indirection on PatCtxt | Dawer | 2021-05-31 | 3 | -24/+24 |
| | |||||
* | Enable generation of non-exhaustiveness witnesses | Dawer | 2021-05-31 | 3 | -13/+76 |
| | |||||
* | Update match checking. | Dawer | 2021-05-31 | 5 | -1/+1470 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fn is_useful , more skeletons Specify a lifetime on pattern references impl PatStack fill impl Matrix PatStack::pop_head_constructor Index-based approach struct PatCtxt fields construction fn Fields::wildcards split wildcard fn Constructor::is_covered_by_any(..) fn Matrix::specialize_constructor(..) impl Usefulness Initial work on witness construction Reorganize files Replace match checking diagnostic Handle types of expanded patterns unit match checking go brrr | ||||
* | minor: it's Parameter, not Argument | Aleksey Kladov | 2021-05-31 | 2 | -5/+5 |
| | |||||
* | fix: avoid panics in match case diagnostic | Aleksey Kladov | 2021-05-31 | 1 | -108/+33 |
| | |||||
* | Merge #8866 | bors[bot] | 2021-05-31 | 2 | -2/+2 |
|\ | | | | | | | | | | | | | | | 8866: Update salsa r=matklad a=jonas-schievink This updates salsa to include https://github.com/salsa-rs/salsa/pull/265, and removes all cancellation-related code from rust-analyzer Co-authored-by: Jonas Schievink <[email protected]> | ||||
| * | Update salsa | Jonas Schievink | 2021-05-27 | 2 | -2/+2 |
| | | |||||
* | | hir_ty: don't pass where clauses of associated types down to chalk (temp. ↵ | cynecx | 2021-05-30 | 2 | -11/+28 |
| | | | | | | | | fix #9052) | ||||
* | | hir_ty: use async ret type for inference inside async bodies | cynecx | 2021-05-29 | 2 | -1/+56 |
| | | |||||
* | | Remove fragment kind knowledge from builtin macros | Jonas Schievink | 2021-05-29 | 1 | -0/+18 |
| | | |||||
* | | Move hir_ty incremental test to its own file | Jonas Schievink | 2021-05-27 | 2 | -44/+52 |
|/ | |||||
* | Merge #9007 | bors[bot] | 2021-05-26 | 3 | -17/+15 |
|\ | | | | | | | | | | | | | | | 9007: Internal: `clippy::redundant_clone` fixes r=lnicola a=lnicola bors r+ Co-authored-by: Laurențiu Nicola <[email protected]> | ||||
| * | clippy::redundant_clone fixes | Laurențiu Nicola | 2021-05-26 | 3 | -17/+15 |
| | | |||||
* | | Merge #8973 | bors[bot] | 2021-05-25 | 7 | -15/+125 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | 8973: internal: move diagnostics to hir r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]> | ||||
| * | | internal: move diagnostics to hir | Aleksey Kladov | 2021-05-25 | 7 | -15/+125 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The idea here is to eventually get rid of `dyn Diagnostic` and `DiagnosticSink` infrastructure altogether, and just have a `enum hir::Diagnostic` instead. The problem with `dyn Diagnostic` is that it is defined in the lowest level of the stack (hir_expand), but is used by the highest level (ide). As a first step, we free hir_expand and hir_def from `dyn Diagnostic` and kick the can up to `hir_ty`, as an intermediate state. The plan is then to move DiagnosticSink similarly to the hir crate, and, as final third step, remove its usage from the ide. One currently unsolved problem is testing. You can notice that the test which checks precise diagnostic ranges, unresolved_import_in_use_tree, was moved to the ide layer. Logically, only IDE should have the infra to render a specific range. At the same time, the range is determined with the data produced in hir_def and hir crates, so this layering is rather unfortunate. Working on hir_def shouldn't require compiling `ide` for testing. | ||||
* | | | Consider trait to be in scope for trait-impl | Lukas Wirth | 2021-05-25 | 2 | -0/+32 |
| | | | |||||
* | | | Merge #8987 | bors[bot] | 2021-05-25 | 2 | -4/+28 |
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8987: Fix lowering of FnOnce() without return type r=flodiebold a=flodiebold This should result in an implicit `-> ()`, not leaving out the binding. Co-authored-by: Florian Diebold <[email protected]> | ||||
| * | | | Hide `-> ()` in Fn traits | Florian Diebold | 2021-05-25 | 2 | -5/+7 |
| | | | | |||||
| * | | | Fix lowering of FnOnce() without return type | Florian Diebold | 2021-05-25 | 1 | -5/+27 |
| |/ / | | | | | | | | | | This should result in an implicit `-> ()`, not leaving out the binding. | ||||
* / / | Fix type inference not working for new Try trait | Lukas Wirth | 2021-05-25 | 2 | -1/+41 |
|/ / | |||||
* | | Minor test fixes / new tests | Florian Diebold | 2021-05-25 | 1 | -15/+62 |
| | | |||||
* | | Fix type mismatch caused by macros | Florian Diebold | 2021-05-25 | 2 | -1/+45 |
|/ | | | | | | MacroStmts should be completely transparent, but it prevented coercion. (I should maybe give `infer_expr` and `infer_expr_inner` better names.) | ||||
* | internal: rename hypothetical -> speculative | Aleksey Kladov | 2021-05-24 | 1 | -1/+1 |
| | | | | | Lets steal this good naming from Roslyn before I forget about it yet again. | ||||
* | internal: intern `TypeBound`s | Jonas Schievink | 2021-05-24 | 2 | -1/+9 |
| | | | | | Doesn't save much memory (~2 mb), but interning things is generally a good pattern to follow | ||||
* | Record method call substs and use them in call info | Florian Diebold | 2021-05-23 | 5 | -38/+42 |
| | |||||
* | Add test for #8931 and better checking | Florian Diebold | 2021-05-23 | 1 | -11/+83 |
| | |||||
* | Add last remaining module docstring | Florian Diebold | 2021-05-22 | 1 | -1/+3 |
| | |||||
* | Resolve any lifetime variables to 'static after inference | Florian Diebold | 2021-05-22 | 1 | -1/+13 |
| | | | | | | | | Chalk's unification can sometimes create lifetime variables, which we currently don't really deal with, but at least we don't want to leak them outside of inference. Should fix #8919. | ||||
* | Clean up visibilities | Florian Diebold | 2021-05-21 | 1 | -10/+10 |
| | |||||
* | Some remaining cleanups | Florian Diebold | 2021-05-21 | 3 | -18/+13 |
| | |||||
* | Fix test after rebase | Florian Diebold | 2021-05-21 | 1 | -1/+1 |
| | |||||
* | Record type mismatches for failed coercions in match etc. | Florian Diebold | 2021-05-21 | 2 | -15/+21 |
| | |||||
* | Refactor expectation handling | Florian Diebold | 2021-05-21 | 3 | -54/+88 |
| | | | | So as to not use `TyKind::Error` as "no expectation". | ||||
* | Remove TypeVariableTable | Florian Diebold | 2021-05-21 | 2 | -56/+48 |
| | |||||
* | Deal with goals arising from unification | Florian Diebold | 2021-05-21 | 4 | -18/+21 |
| | |||||
* | Get rid of resolve_ty_as_possible | Florian Diebold | 2021-05-21 | 8 | -88/+56 |
| | | | | Instead use shallow resolving where necessary. | ||||
* | Make resolve_ty_shallow return Ty | Florian Diebold | 2021-05-21 | 3 | -14/+7 |
| |