Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Differentiate Tuple / FnPtr type constructors by cardinality | Florian Diebold | 2019-05-04 | 1 | -4/+7 |
| | | | | | This is necessary because Chalk (reasonably) expects each 'struct' to know how many type parameters it takes. | ||||
* | Make canonicalization API a bit nicer | Florian Diebold | 2019-05-04 | 1 | -15/+16 |
| | |||||
* | Canonicalize before doing method resolution | Florian Diebold | 2019-05-04 | 1 | -3/+10 |
| | |||||
* | Chalk integration | Florian Diebold | 2019-05-04 | 1 | -15/+16 |
| | | | | | - add proper canonicalization logic - add conversions from/to Chalk IR | ||||
* | New krate() method in Resolver. | Marco Groppo | 2019-04-19 | 1 | -28/+26 |
| | | | | Renamed Impl to ImplBlock. | ||||
* | Initial support for lang items. | Marco Groppo | 2019-04-19 | 1 | -25/+29 |
| | |||||
* | Refactoring | Edwin Cheng | 2019-04-17 | 1 | -51/+46 |
| | |||||
* | Simpliy code | Edwin Cheng | 2019-04-17 | 1 | -60/+32 |
| | |||||
* | Bug fix and add more comments | Edwin Cheng | 2019-04-17 | 1 | -22/+60 |
| | |||||
* | Fix 1099 | Edwin Cheng | 2019-04-17 | 1 | -3/+48 |
| | |||||
* | Extract generic_params method to a HasGenericParams trait | Florian Diebold | 2019-04-14 | 1 | -4/+7 |
| | |||||
* | Make callable signature handling a bit nicer | Florian Diebold | 2019-04-14 | 1 | -47/+14 |
| | |||||
* | Some cleanup | Florian Diebold | 2019-04-14 | 1 | -90/+99 |
| | |||||
* | More trait infrastructure | Florian Diebold | 2019-04-14 | 1 | -6/+78 |
| | | | | | | | | | | - make it possible to get parent trait from method - add 'obligation' machinery for checking that a type implements a trait (and inferring facts about type variables from that) - handle type parameters of traits (to a certain degree) - improve the hacky implements check to cover enough cases to exercise the handling of traits with type parameters - basic canonicalization (will probably also be done by Chalk) | ||||
* | Avoid two-phase borrow conflict | Laurențiu Nicola | 2019-04-08 | 1 | -2/+2 |
| | |||||
* | Added ArrayExprKind, | Lenard Pratt | 2019-04-07 | 1 | -13/+17 |
| | | | | | changed the display for fixed array types, Added Array Enum to ra_hir/expr | ||||
* | Added inference of array length | Lenard Pratt | 2019-04-07 | 1 | -1/+10 |
| | |||||
* | Added const bodies and static body to the ast | Lenard Pratt | 2019-04-02 | 1 | -6/+14 |
| | | | | | | and added inference the inference test reduce code duplication | ||||
* | Basics for trait method resolution | Florian Diebold | 2019-03-25 | 1 | -1/+2 |
| | |||||
* | 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 | 1 | -2/+2 |
| | | | | Fixes #1030. | ||||
* | replace todo with fixme | Aleksey Kladov | 2019-03-23 | 1 | -23/+23 |
| | |||||
* | Refactor primitive types into more orthogonal representation | yanchith | 2019-03-22 | 1 | -5/+10 |
| | |||||
* | 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 | 1 | -9/+9 |
| | |||||
* | TypeName => TypeCtor | Florian Diebold | 2019-03-21 | 1 | -39/+39 |
| | |||||
* | Remove the old variants replaced by Ty::Apply | Florian Diebold | 2019-03-21 | 1 | -118/+146 |
| | |||||
* | Represent FnPtr and Tuple using Substs | Florian Diebold | 2019-03-21 | 1 | -10/+12 |
| | |||||
* | Merge #982 | bors[bot] | 2019-03-17 | 1 | -17/+82 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | 1 | -0/+3 |
| | | |||||
| * | 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 | 1 | -17/+78 |
| | | | | | | | | | | | | | | 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. | ||||
* | | Remove FnSig from FnDef type | Florian Diebold | 2019-03-16 | 1 | -2/+4 |
| | | | | | | | | | | 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 | 1 | -11/+12 |
|/ | |||||
* | 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 |
| | |||||
* | Add static type inference | Ville Penttinen | 2019-02-25 | 1 | -1/+2 |
| | |||||
* | Add const type inference | Ville Penttinen | 2019-02-25 | 1 | -7/+13 |
| | |||||
* | Rename Type => TypeAlias | Florian Diebold | 2019-02-24 | 1 | -2/+2 |
| | |||||
* | Implement support for type aliases | Florian Diebold | 2019-02-24 | 1 | -1/+3 |
| | |||||
* | Refactor associated method resolution a bit and make it work with generics | Florian Diebold | 2019-02-23 | 1 | -33/+53 |
| | |||||
* | Split ty.rs into several modules | Florian Diebold | 2019-02-23 | 1 | -0/+1079 |
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 |