Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Extract generic_params method to a HasGenericParams trait | Florian Diebold | 2019-04-14 | 3 | -9/+14 | |
| | ||||||
* | Make callable signature handling a bit nicer | Florian Diebold | 2019-04-14 | 1 | -47/+14 | |
| | ||||||
* | Some cleanup | Florian Diebold | 2019-04-14 | 3 | -98/+111 | |
| | ||||||
* | More trait infrastructure | Florian Diebold | 2019-04-14 | 5 | -43/+260 | |
| | | | | | | | | | | - 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) | |||||
* | Get substs for trait refs in impl blocks | Florian Diebold | 2019-04-14 | 2 | -27/+74 | |
| | ||||||
* | replace usages of `algo::generate` with `iter::successors` from std | Robin Freyler | 2019-04-13 | 1 | -2/+2 | |
| | ||||||
* | make resolver private | Aleksey Kladov | 2019-04-13 | 1 | -1/+1 | |
| | ||||||
* | simplify | Aleksey Kladov | 2019-04-12 | 1 | -11/+12 | |
| | ||||||
* | simplify tests | Aleksey Kladov | 2019-04-12 | 1 | -26/+13 | |
| | ||||||
* | type-safer source-map for bindings | Aleksey Kladov | 2019-04-10 | 1 | -1/+1 | |
| | ||||||
* | Avoid two-phase borrow conflict | Laurențiu Nicola | 2019-04-08 | 1 | -2/+2 | |
| | ||||||
* | updated snapshots | Lenard Pratt | 2019-04-07 | 2 | -69/+41 | |
| | ||||||
* | 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 | 2 | -1/+38 | |
| | ||||||
* | 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 | |
| |