Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Use first match branch in case of type mismatch, not last | Florian Diebold | 2020-05-29 | 1 | -1/+1 |
| | | | | | | | The comment says this was intentional, but I do agree with #4304 that it makes more sense the other way around (for if/else as well). Fixes #4304. | ||||
* | loop return value inference: add tests | Roland Ruckerbauer | 2020-05-19 | 1 | -0/+63 |
| | |||||
* | Handle `Self` in values and patterns | Florian Diebold | 2020-05-15 | 1 | -0/+44 |
| | | | | | | | | | I.e. - `Self(x)` or `Self` in tuple/unit struct impls - `Self::Variant(x)` or `Self::Variant` in enum impls - the same in patterns Fixes #4454. | ||||
* | infer: Make expected rhs type for plain assign the lhs type | Emil Lauridsen | 2020-05-10 | 1 | -0/+29 |
| | | | | | | | | | | | | | This fixes an issue where the following code sample would fail to infer the type contained in the option: ```rust fn main() { let mut end = None; // TODO: Fix inference for this in RA loop { end = Some(true); } } ``` | ||||
* | Implement better handling of divergence | Florian Diebold | 2020-05-08 | 1 | -5/+5 |
| | | | | | | | | Divergence here means that for some reason, the end of a block will not be reached. We tried to model this just using the never type, but that doesn't work fully (e.g. in `let x = { loop {}; "foo" };` x should still have type `&str`); so this introduces a `diverges` flag that the type checker keeps track of, like rustc does. | ||||
* | Fix type of byte literals | Florian Diebold | 2020-05-08 | 1 | -2/+2 |
| | | | | They're `&[u8; N]`, not `&[u8]` (see #4374). | ||||
* | Add smoke test for decorated blocks | Aleksey Kladov | 2020-05-02 | 1 | -0/+32 |
| | |||||
* | Convert tests to text-size | Aleksey Kladov | 2020-04-25 | 1 | -680/+680 |
| | |||||
* | Hide unit fn return types | Laurențiu Nicola | 2020-04-05 | 1 | -3/+3 |
| | |||||
* | Fix inference of function pointer return types | Laurențiu Nicola | 2020-04-05 | 1 | -0/+26 |
| | |||||
* | Add inference for literal and range patterns | Florian Diebold | 2020-04-01 | 1 | -0/+2 |
| | |||||
* | Support aliases and Self in struct literals | Florian Diebold | 2020-03-06 | 1 | -0/+41 |
| | | | | Fixes #3306. | ||||
* | Fix enum constructors | Florian Diebold | 2020-02-07 | 1 | -4/+4 |
| | |||||
* | Fix printing of function types | Florian Diebold | 2020-02-07 | 1 | -16/+16 |
| | |||||
* | Lower impl trait to variables, move away from using placeholders where they ↵ | Florian Diebold | 2020-02-07 | 1 | -1/+1 |
| | | | | don't belong | ||||
* | Standard formatting for array types | Aleksey Kladov | 2020-01-28 | 1 | -35/+35 |
| | |||||
* | Fix inference for shift operators | Florian Diebold | 2020-01-17 | 1 | -0/+21 |
| | | | | Fixes #2602. | ||||
* | Resolve traits in infer using lang item infrastructure | Emil Lauridsen | 2019-12-29 | 1 | -0/+1 |
| | |||||
* | Don't add non-impl/trait containers to scope | Aleksey Kladov | 2019-12-29 | 1 | -0/+3 |
| | |||||
* | Rudimentary name resolution for local items | Aleksey Kladov | 2019-12-22 | 1 | -6/+6 |
| | |||||
* | Handle closure return types | Florian Diebold | 2019-12-20 | 1 | -0/+55 |
| | | | | Fixes #2547. | ||||
* | Split up ty tests a bit | Florian Diebold | 2019-12-03 | 1 | -0/+1608 |