Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Make diverging type variables work again | Florian Diebold | 2021-05-21 | 2 | -0/+23 | |
| | | | | | Chalk doesn't know about the `diverging` flag, so we need to instead propagate it before fully resolving the variables. | |||||
* | Fix handling of diverging branches in match coercion | Florian Diebold | 2021-05-21 | 2 | -4/+52 | |
| | | | | Fixes #7626. | |||||
* | Fix coercion of two closures to a function pointer | Florian Diebold | 2021-05-21 | 4 | -56/+48 | |
| | | | | Fixes #8604. | |||||
* | Update tests with expected changes | Florian Diebold | 2021-05-21 | 2 | -40/+34 | |
| | ||||||
* | Make type resolver a proper folder, make it resolve consts as well | Florian Diebold | 2021-05-21 | 1 | -48/+117 | |
| | ||||||
* | Fix fallback to bound vars in `unify` | Florian Diebold | 2021-05-21 | 1 | -45/+78 | |
| | ||||||
* | Better Debug impl for InternedWrapper | Florian Diebold | 2021-05-21 | 1 | -1/+7 | |
| | ||||||
* | Temporary fix for unknown expectations | Florian Diebold | 2021-05-21 | 2 | -0/+8 | |
| | ||||||
* | Fix warnings & format | Florian Diebold | 2021-05-21 | 3 | -20/+11 | |
| | ||||||
* | Rewrite coercion using the new unification | Florian Diebold | 2021-05-21 | 6 | -105/+371 | |
| | ||||||
* | Remove our unification code, use Chalk's instead | Florian Diebold | 2021-05-21 | 8 | -438/+125 | |
| | ||||||
* | Check patterns for type match recursively. | Dawer | 2021-05-19 | 2 | -2/+30 | |
| | ||||||
* | internal: Record mismatches of pattern types. | Dawer | 2021-05-19 | 6 | -11/+93 | |
| | ||||||
* | Merge #8813 | bors[bot] | 2021-05-16 | 11 | -103/+251 | |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8813: Get some more array lengths! r=lf- a=lf- This is built on #8799 and thus contains its changes. I'll rebase it onto master when that one gets merged. It adds support for r-a understanding the length of: * `let a: [u8; 2] = ...` * `let a = b"aaa"` * `let a = [0u8; 4]` I have added support for getting the values of byte strings, which was not previously there. I am least confident in the correctness of this part and it probably needs some more tests, as we currently have only one test that exercised that part (!). Fixes #2922. Co-authored-by: Jade <[email protected]> | |||||
| * | Address final feedback | Jade | 2021-05-16 | 3 | -31/+17 | |
| | | | | | | | | | | * rename ConstExtension->ConstExt * refactor a manual construction of a Const | |||||
| * | Add more tests, refactor array lengths/consteval work | Jade | 2021-05-14 | 5 | -34/+179 | |
| | | | | | | | | | | | | | | | | | | | | | | Fix #2922: add unknown length as a condition for a type having unknown. Incorporate reviews: * Extract some of the const evaluation workings into functions * Add fixmes on the hacks * Add tests for impls on specific array lengths (these work!!! 😁) * Add tests for const generics (indeed we don't support it yet) | |||||
| * | Test lowering byte strings some more | Jade | 2021-05-13 | 1 | -14/+25 | |
| | | ||||||
| * | Add support for lengths in array repeats, if they are literals | Jade | 2021-05-13 | 2 | -7/+17 | |
| | | | | | | | | Now we will get the type of `[0u8; 4]`. | |||||
| * | Support length for ByteStrings | Jade | 2021-05-13 | 2 | -8/+16 | |
| | | | | | | | | I am not confident that my added byte string parsing is right. | |||||
| * | Add lowering of array lengths in types | Jade | 2021-05-13 | 9 | -76/+64 | |
| | | | | | | | | | | | | | | | | | | | | | | Now e.g. ```rust fn a(b: [u8; 2]) { } ``` will know about the length of b. | |||||
* | | Fix false positive "Missing match arm". | Dawer | 2021-05-14 | 3 | -5/+7 | |
|/ | ||||||
* | Merge #8799 | bors[bot] | 2021-05-12 | 11 | -109/+155 | |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | 8799: Add basic support for array lengths in types r=flodiebold a=lf- This recognizes `let a = [1u8, 2, 3]` as having type `[u8; 3]` instead of the previous `[u8; _]`. Byte strings and `[0u8; 2]` kinds of range array declarations are unsupported as before. I don't know why a bunch of our rustc tests had single quotes inside strings un-escaped by `UPDATE_EXPECT=1 cargo t`, but I don't think it's bad? Maybe something in a nightly? Co-authored-by: Jade <[email protected]> | |||||
| * | address review by @eddyb | Jade | 2021-05-11 | 2 | -2/+3 | |
| | | ||||||
| * | Add basic support for array lengths in types | Jade | 2021-05-11 | 11 | -109/+154 | |
| | | | | | | | | | | | | | | | | | | | | This recognizes `let a = [1u8, 2, 3]` as having type `[u8; 3]` instead of the previous `[u8; _]`. Byte strings and `[0u8; 2]` kinds of range array declarations are unsupported as before. I don't know why a bunch of our rustc tests had single quotes inside strings un-escaped by `UPDATE_EXPECT=1 cargo t`, but I don't think it's bad? Maybe something in a nightly? | |||||
* | | Merge #8398 | bors[bot] | 2021-05-11 | 3 | -2/+51 | |
|\ \ | |/ |/| | | | | | | | | | | | 8398: Fix inference with conditionally compiled tails r=flodiebold a=DJMcNab Fixes #8378 Co-authored-by: Daniel McNab <[email protected]> | |||||
| * | Add a test for conditionally compiled tails | Daniel McNab | 2021-05-03 | 1 | -0/+49 | |
| | | ||||||
| * | Fix inference with conditionally compiled tails | Daniel McNab | 2021-05-03 | 2 | -2/+2 | |
| | | | | | | | | Fixes #8378 | |||||
* | | Correctly support SelfType when searching for usages | Lukas Wirth | 2021-05-08 | 1 | -2/+34 | |
| | | ||||||
* | | Reuse database in LowerCtx | Jonas Schievink | 2021-05-06 | 1 | -1/+1 | |
| | | ||||||
* | | Don't store call-site text offsets in hygiene info | Jonas Schievink | 2021-05-06 | 1 | -2/+2 | |
|/ | ||||||
* | Don't look in super traits for <T as Trait>::Assoc | Florian Diebold | 2021-04-29 | 2 | -7/+14 | |
| | | | | | | | This isn't actually how it works, you have to specify the exact trait that has the associated type. Fixes #8686. | |||||
* | Rewrite all_super_trait_refs as an iterator | Florian Diebold | 2021-04-29 | 1 | -18/+34 | |
| | | | | | Doesn't fix the bug I was trying to fix, but now that I did it anyway it seems fine to keep. | |||||
* | Handle cycles in generic_defaults more gracefully | Florian Diebold | 2021-04-29 | 2 | -0/+22 | |
| | ||||||
* | Add test for #8686 | Florian Diebold | 2021-04-29 | 1 | -0/+30 | |
| | ||||||
* | fix: closure unify without check ClosureId | Comonad | 2021-04-29 | 2 | -0/+40 | |
| | | | | closes #8604 | |||||
* | Merge #8462 | bors[bot] | 2021-04-19 | 3 | -8/+275 | |
|\ | | | | | | | | | | | | | | | 8462: Expand macros at type position r=jonas-schievink a=cynecx Co-authored-by: cynecx <[email protected]> | |||||
| * | hir_ty: cleanups and extend infinitely_recursive_macro_type test | cynecx | 2021-04-18 | 2 | -8/+14 | |
| | | ||||||
| * | hir_ty: keep body::Expander in TyLoweringContext | cynecx | 2021-04-18 | 2 | -14/+83 | |
| | | ||||||
| * | hir_def: refactor expand_macro_type and cleanups | cynecx | 2021-04-17 | 1 | -3/+3 | |
| | | ||||||
| * | hir_ty: deal with TypeRef::Macro in HirFormatter | cynecx | 2021-04-17 | 1 | -2/+15 | |
| | | ||||||
| * | hir_ty: Expand macros at type position | cynecx | 2021-04-17 | 3 | -2/+181 | |
| | | ||||||
* | | Collect inherent impls in unnamed consts | Jonas Schievink | 2021-04-19 | 2 | -17/+62 | |
|/ | ||||||
* | Merge #8539 | bors[bot] | 2021-04-16 | 2 | -1/+2 | |
|\ | | | | | | | | | | | | | | | | | | | 8539: fix: Do not propose inherent traits in flyimports and import assists r=flodiebold a=SomeoneToIgnore Closes https://github.com/rust-analyzer/rust-analyzer/issues/8520 I've went with a separate method approach, since the [highlighted code](https://github.com/rust-analyzer/rust-analyzer/issues/8520#issuecomment-819856337) has not`Type` and uses `Ty` to get his data, but the code I had to change has no access to `Ty` and has `Type` only. Co-authored-by: Kirill Bulatov <[email protected]> | |||||
| * | Exclude inherent traits from flyimports | Kirill Bulatov | 2021-04-16 | 2 | -1/+2 | |
| | | ||||||
* | | Fix primitive shadowing with inner items | Jonas Schievink | 2021-04-16 | 1 | -0/+18 | |
|/ | ||||||
* | Profile trait solving for all invocations | Kirill Bulatov | 2021-04-14 | 2 | -5/+19 | |
| | ||||||
* | Better places for spans | Kirill Bulatov | 2021-04-14 | 1 | -2/+1 | |
| | ||||||
* | We need to go deeper | Kirill Bulatov | 2021-04-14 | 1 | -1/+5 | |
| | ||||||
* | Add a missing span | Kirill Bulatov | 2021-04-14 | 1 | -0/+2 | |
| | ||||||
* | decl_check: follow test style guide | Jonas Schievink | 2021-04-13 | 1 | -60/+59 | |
| |