aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_ty/src/tests
Commit message (Collapse)AuthorAgeFilesLines
* internal: document that we don't #[ignore] testsAleksey Kladov2021-06-152-10/+26
|
* Make block-local trait impls workFlorian Diebold2021-06-131-0/+67
| | | | | As long as either the trait or the implementing type are defined in the same block.
* Fix coercion in match with expected typeFlorian Diebold2021-06-122-52/+48
| | | | Plus add infrastructure to test type mismatches without expect.
* Merge #9104bors[bot]2021-06-031-0/+49
|\ | | | | | | | | | | | | | | | | | | | | 9104: Implement `#[rustc_skip_array_during_method_dispatch]` r=flodiebold a=jonas-schievink haxx run the world Closes https://github.com/rust-analyzer/rust-analyzer/issues/8552 Part of https://github.com/rust-analyzer/rust-analyzer/issues/9056 Co-authored-by: Jonas Schievink <[email protected]>
| * Implement `#[rustc_skip_array_during_method_dispatch]`Jonas Schievink2021-06-011-0/+49
| |
* | Fix bind patterns always being treated as ref taking patternsLukas Wirth2021-06-021-19/+28
|/
* Implement per-edition preludesJonas Schievink2021-06-015-44/+97
|
* hir_ty: use correct receiver_ty in method resolutioncynecx2021-05-311-0/+78
|
* hir_ty: don't pass where clauses of associated types down to chalk (temp. ↵cynecx2021-05-301-8/+23
| | | | fix #9052)
* hir_ty: use async ret type for inference inside async bodiescynecx2021-05-291-0/+49
|
* Remove fragment kind knowledge from builtin macrosJonas Schievink2021-05-291-0/+18
|
* Move hir_ty incremental test to its own fileJonas Schievink2021-05-271-0/+51
|
* Consider trait to be in scope for trait-implLukas Wirth2021-05-251-0/+30
|
* Merge #8987bors[bot]2021-05-251-2/+24
|\ | | | | | | | | | | | | | | 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 traitsFlorian Diebold2021-05-251-3/+3
| |
| * Fix lowering of FnOnce() without return typeFlorian Diebold2021-05-251-5/+27
| | | | | | | | This should result in an implicit `-> ()`, not leaving out the binding.
* | Fix type inference not working for new Try traitLukas Wirth2021-05-251-0/+37
|/
* Minor test fixes / new testsFlorian Diebold2021-05-251-15/+62
|
* Fix type mismatch caused by macrosFlorian Diebold2021-05-251-0/+44
| | | | | | MacroStmts should be completely transparent, but it prevented coercion. (I should maybe give `infer_expr` and `infer_expr_inner` better names.)
* Fix test after rebaseFlorian Diebold2021-05-211-1/+1
|
* Deal with goals arising from unificationFlorian Diebold2021-05-211-1/+1
|
* Get rid of resolve_ty_as_possibleFlorian Diebold2021-05-212-9/+9
| | | | Instead use shallow resolving where necessary.
* Fix handling of diverging branches in match coercionFlorian Diebold2021-05-211-0/+39
| | | | Fixes #7626.
* Fix coercion of two closures to a function pointerFlorian Diebold2021-05-212-37/+16
| | | | Fixes #8604.
* Update tests with expected changesFlorian Diebold2021-05-211-37/+34
|
* internal: Record mismatches of pattern types.Dawer2021-05-191-1/+57
|
* Merge #8813bors[bot]2021-05-164-50/+166
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
| * Add more tests, refactor array lengths/consteval workJade2021-05-142-1/+106
| | | | | | | | | | | | | | | | | | | | | | 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 moreJade2021-05-131-14/+25
| |
| * Add support for lengths in array repeats, if they are literalsJade2021-05-131-1/+1
| | | | | | | | Now we will get the type of `[0u8; 4]`.
| * Support length for ByteStringsJade2021-05-131-2/+2
| | | | | | | | I am not confident that my added byte string parsing is right.
| * Add lowering of array lengths in typesJade2021-05-133-34/+34
| | | | | | | | | | | | | | | | | | | | | | Now e.g. ```rust fn a(b: [u8; 2]) { } ``` will know about the length of b.
* | Fix false positive "Missing match arm".Dawer2021-05-141-1/+1
|/
* Merge #8799bors[bot]2021-05-125-95/+95
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
| * Add basic support for array lengths in typesJade2021-05-115-95/+95
| | | | | | | | | | | | | | | | | | | | 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?
* | Add a test for conditionally compiled tailsDaniel McNab2021-05-031-0/+49
|/
* Don't look in super traits for <T as Trait>::AssocFlorian Diebold2021-04-291-0/+8
| | | | | | | This isn't actually how it works, you have to specify the exact trait that has the associated type. Fixes #8686.
* Add test for #8686Florian Diebold2021-04-291-0/+30
|
* fix: closure unify without check ClosureIdComonad2021-04-291-0/+36
| | | | closes #8604
* Merge #8462bors[bot]2021-04-191-0/+199
|\ | | | | | | | | | | | | | | 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 testcynecx2021-04-181-5/+9
| |
| * hir_ty: keep body::Expander in TyLoweringContextcynecx2021-04-181-0/+26
| |
| * hir_ty: Expand macros at type positioncynecx2021-04-171-0/+169
| |
* | Collect inherent impls in unnamed constsJonas Schievink2021-04-191-1/+36
|/
* Fix primitive shadowing with inner itemsJonas Schievink2021-04-161-0/+18
|
* Support macros in pattern positionJonas Schievink2021-04-112-2/+28
|
* Respect test style guidelines in tests::traitsLukas Wirth2021-04-101-698/+656
|
* Add test for binary op return ty with adtLukas Wirth2021-04-101-0/+47
|
* Add manual ops::Add impls to test::traits::closure_2Lukas Wirth2021-04-101-20/+46
|
* Implement more precise binary op return type predictionLukas Wirth2021-04-101-5/+5
|