Aleksey Kladov
|
6efc79b89d
|
implement while let desugaring
|
2019-08-07 15:14:22 +02:00 |
|
Florian Diebold
|
d8cd0e36f5
|
Handle Chalk conversion for FnDef
|
2019-05-11 16:21:20 +02:00 |
|
bors[bot]
|
40c6dd1f4c
|
Merge #982
982: Implement BindingMode for pattern matching. r=flodiebold a=mjkillough
Implement `BindingMode` for pattern matching, so that types can be
correctly inferred using match ergonomics. The binding mode defaults to
`Move` (referred to as 'BindingMode::BindByValue` in rustc), and is
updated by automatic dereferencing of the value being matched.
Fixes #888.
- [Binding modes in The Reference](https://doc.rust-lang.org/reference/patterns.html#binding-modes)
- [`rustc` implementation](e17c48e2f2/src/librustc_typeck/check/_match.rs (L77) ) (and [definition of `BindingMode`](e957ed9d10/src/librustc/ty/binding.rs ))
- [Match Ergonomics RFC](https://github.com/rust-lang/rfcs/blob/master/text/2005-match-ergonomics.md#binding-mode-rules)
Co-authored-by: Michael Killough <michaeljkillough@gmail.com>
|
2019-03-17 21:41:37 +00:00 |
|
Michael Killough
|
6299ccd350
|
Split test case and use tested_by!.
|
2019-03-17 19:08:51 +00:00 |
|
Aleksey Kladov
|
c51a6a7bdd
|
fix error on wrong path
|
2019-03-17 12:53:22 +03:00 |
|
Aleksey Kladov
|
71e5adf694
|
move tests over to crate-def-map
|
2019-03-17 12:49:07 +03:00 |
|
Florian Diebold
|
1526eb25c9
|
Import the prelude
|
2019-02-13 20:10:09 +01:00 |
|
Florian Diebold
|
2e1d739a80
|
Import glob imports from other crates
This is the easy part since we don't have to consider the fixpoint algorithm.
|
2019-02-10 16:20:01 +01:00 |
|
Florian Diebold
|
35cfb418ba
|
Add some tests
|
2019-02-10 16:20:01 +01:00 |
|
Florian Diebold
|
c098a3fda5
|
Add comment and mark
|
2019-02-09 22:03:01 +01:00 |
|
Florian Diebold
|
94bbb2418a
|
Add marks
|
2019-01-26 23:59:11 +01:00 |
|
Aleksey Kladov
|
857c35ddb0
|
refactor import resolution
extract path resolution
use enums instead of bools
|
2019-01-25 10:08:21 +03:00 |
|
Aleksey Kladov
|
2dbf58c579
|
move completion item tests closer to the code
this is the reason why we need marks: the tests were spread across two
files, because I've forgotten that there were tests already
|
2019-01-23 16:05:13 +03:00 |
|
Aleksey Kladov
|
45da21672a
|
generalize marking infrastructure
|
2019-01-23 15:36:29 +03:00 |
|
Aleksey Kladov
|
32fa084c07
|
introduce marking infrastructure for maintainable tests
This also fixes a particular edge case in name resolution.
|
2019-01-10 16:45:09 +03:00 |
|