Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Parse and infer tuple indices | robojumper | 2019-04-06 | 1 | -0/+59 |
| | |||||
* | Merge #1076 | bors[bot] | 2019-04-02 | 2 | -10/+71 |
|\ | | | | | | | | | | | | | | | | | 1076: Const body inference r=flodiebold a=Lapz This is the second part of #887. I've added type inference on const bodies and introduced the DefWithBody containing Function, Const and Static. I want to add tests but im unsure on how I would go about testing that completions work. Co-authored-by: Lenard Pratt <[email protected]> | ||||
| * | Added const bodies and static body to the ast | Lenard Pratt | 2019-04-02 | 2 | -10/+71 |
| | | | | | | | | | | | | and added inference the inference test reduce code duplication | ||||
* | | switch to new rowan | Aleksey Kladov | 2019-04-01 | 1 | -8/+6 |
|/ | |||||
* | Clean up comments / use nicer Iterator methods | Florian Diebold | 2019-03-25 | 1 | -9/+14 |
| | |||||
* | Implement a very naive implements check | Florian Diebold | 2019-03-25 | 2 | -7/+27 |
| | | | | ... to make the infer_trait_method_simple test have the correct result. | ||||
* | Basics for trait method resolution | Florian Diebold | 2019-03-25 | 3 | -21/+54 |
| | |||||
* | test diagnostics | Aleksey Kladov | 2019-03-25 | 1 | -0/+24 |
| | |||||
* | cleanup | Aleksey Kladov | 2019-03-25 | 1 | -4/+4 |
| | |||||
* | switch modules to new diagnostics | Aleksey Kladov | 2019-03-25 | 1 | -4/+9 |
| | |||||
* | allow dyn diagnostics | Aleksey Kladov | 2019-03-25 | 1 | -6/+33 |
| | |||||
* | diagnostics | Aleksey Kladov | 2019-03-25 | 1 | -3/+20 |
| | |||||
* | Fix apply_substs assertion failure | Florian Diebold | 2019-03-23 | 2 | -2/+25 |
| | | | | Fixes #1030. | ||||
* | replace todo with fixme | Aleksey Kladov | 2019-03-23 | 4 | -28/+28 |
| | |||||
* | Refactor primitive types into more orthogonal representation | yanchith | 2019-03-22 | 3 | -140/+149 |
| | |||||
* | Assert in apply_substs that the number of parameters doesn't change | Florian Diebold | 2019-03-21 | 1 | -1/+1 |
| | | | | ... and fix a small bug revealed by that. | ||||
* | Rename name field to ctor as well | Florian Diebold | 2019-03-21 | 3 | -14/+14 |
| | |||||
* | TypeName => TypeCtor | Florian Diebold | 2019-03-21 | 4 | -70/+70 |
| | |||||
* | Remove the old variants replaced by Ty::Apply | Florian Diebold | 2019-03-21 | 4 | -152/+194 |
| | |||||
* | Represent FnPtr and Tuple using Substs | Florian Diebold | 2019-03-21 | 2 | -12/+14 |
| | |||||
* | make Name::new private | Aleksey Kladov | 2019-03-20 | 2 | -14/+56 |
| | |||||
* | Merge #982 | bors[bot] | 2019-03-17 | 2 | -17/+136 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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](https://github.com/rust-lang/rust/blob/e17c48e2f21eefd59748e364234efc7037a3ec96/src/librustc_typeck/check/_match.rs#L77) (and [definition of `BindingMode`](https://github.com/rust-lang/rust/blob/e957ed9d10ec589bdd523b88b4b44c41b1ecf763/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 <[email protected]> | ||||
| * | Split test case and use tested_by!. | Michael Killough | 2019-03-17 | 2 | -76/+102 |
| | | |||||
| * | Simplify match statement. | Michael Killough | 2019-03-17 | 1 | -6/+1 |
| | | |||||
| * | impl Default for BindingMode. | Michael Killough | 2019-03-17 | 1 | -5/+11 |
| | | | | | | | | | | This decouples callers from knowing what the default binding mode of pattern matching is. | ||||
| * | Implement BindingMode for pattern matching. | Michael Killough | 2019-03-16 | 2 | -62/+154 |
| | | | | | | | | | | | | | | 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. | ||||
* | | rename ModuleId -> CrateModuleId | Aleksey Kladov | 2019-03-17 | 1 | -4/+4 |
| | | |||||
* | | Reorganize name resolution | Aleksey Kladov | 2019-03-17 | 1 | -1/+1 |
| | | |||||
* | | Replace module_tree with CrateDefMap | Aleksey Kladov | 2019-03-17 | 1 | -1/+3 |
| | | |||||
* | | Remove FnSig from FnDef type | Florian Diebold | 2019-03-16 | 2 | -8/+16 |
| | | | | | | | | | | It doesn't need to be in there since it's just information from the def. Another step towards aligning Ty with Chalk's representation. | ||||
* | | Refactor FnSig a bit | Florian Diebold | 2019-03-16 | 2 | -36/+57 |
| | | |||||
* | | Some more Ty displaying cleanup | Florian Diebold | 2019-03-16 | 1 | -33/+31 |
| | | |||||
* | | Replace Display by a pretty printing trait for Ty | Florian Diebold | 2019-03-16 | 3 | -19/+65 |
|/ | | | | | This allows removing the names from Adt and FnDef (and more later), as a first step towards aligning more with chalk's Ty :) | ||||
* | Use impl_froms! | kjeremy | 2019-03-04 | 1 | -13/+3 |
| | |||||
* | Make ExpOrPatId private | kjeremy | 2019-03-04 | 1 | -3/+6 |
| | |||||
* | Remove commented out code | Jeremy Kolb | 2019-03-04 | 1 | -9/+0 |
| | |||||
* | Use ImplItems instead of just Function | Jeremy Kolb | 2019-03-04 | 1 | -34/+48 |
| | |||||
* | Make goto definition/hover resolve constructors | kjeremy | 2019-03-04 | 1 | -3/+40 |
| | |||||
* | Inline type inference test snapshots | Florian Diebold | 2019-03-03 | 59 | -1504/+1096 |
| | |||||
* | Represent unknown types as {unknown} instead of [unknown] | Florian Diebold | 2019-03-03 | 27 | -170/+170 |
| | | | | Since the latter could actually be a real type... | ||||
* | Add a bunch of tests for type inference involving traits | Florian Diebold | 2019-03-02 | 13 | -0/+403 |
| | | | | None of them works correctly yet, of course. | ||||
* | rename syntax-mapping -> source-map | Aleksey Kladov | 2019-03-02 | 1 | -5/+5 |
| | |||||
* | Add static type inference | Ville Penttinen | 2019-02-25 | 3 | -10/+24 |
| | |||||
* | Add const type inference | Ville Penttinen | 2019-02-25 | 6 | -19/+104 |
| | |||||
* | Rename Type => TypeAlias | Florian Diebold | 2019-02-24 | 2 | -11/+11 |
| | |||||
* | Add test for recursive type aliases | Florian Diebold | 2019-02-24 | 1 | -0/+14 |
| | |||||
* | Implement support for type aliases | Florian Diebold | 2019-02-24 | 4 | -10/+70 |
| | |||||
* | Refactor associated method resolution a bit and make it work with generics | Florian Diebold | 2019-02-23 | 4 | -64/+98 |
| | |||||
* | Split ty.rs into several modules | Florian Diebold | 2019-02-23 | 3 | -0/+1478 |
| | | | | | | | | | It was just getting too big. We now have: - ty: the `Ty` enum and helpers - ty::infer: actual type inference - ty::lower: lowering from HIR to `Ty` - ty::op: helpers for binary operations, currently | ||||
* | Fix resolution of associated method calls across crates | Florian Diebold | 2019-02-23 | 1 | -2/+39 |
| | | | | | | I think it'll be better to make the path resolution the number of unresolved segments, not the first unresolved index; then this error could simply not have happened. But I'll do that separately. |