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. |