Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | make macro parsing a query | Aleksey Kladov | 2019-03-26 | 3 | -5/+8 |
| | |||||
* | reduce visibility | Aleksey Kladov | 2019-03-26 | 1 | -23/+27 |
| | |||||
* | store macro def inside macro id | Aleksey Kladov | 2019-03-26 | 7 | -119/+73 |
| | | | | | | | | This solves the problem of "macro expansion can't call into name resolution, because name resolution calls back into macro expansion" Because we store macro def as a part of call id, macro expansion just knows the def! | ||||
* | Clean up comments / use nicer Iterator methods | Florian Diebold | 2019-03-25 | 2 | -10/+15 |
| | |||||
* | Implement a very naive implements check | Florian Diebold | 2019-03-25 | 4 | -12/+50 |
| | | | | ... to make the infer_trait_method_simple test have the correct result. | ||||
* | Basics for trait method resolution | Florian Diebold | 2019-03-25 | 9 | -23/+147 |
| | |||||
* | move tests to where they belong | Aleksey Kladov | 2019-03-25 | 1 | -0/+1 |
| | |||||
* | tweak diagnostics API | Aleksey Kladov | 2019-03-25 | 2 | -9/+14 |
| | |||||
* | test diagnostics | Aleksey Kladov | 2019-03-25 | 3 | -1/+61 |
| | |||||
* | more enterprisey diagnostics setup | Aleksey Kladov | 2019-03-25 | 2 | -10/+45 |
| | |||||
* | fixes | Aleksey Kladov | 2019-03-25 | 1 | -1/+1 |
| | |||||
* | check impls as well | Aleksey Kladov | 2019-03-25 | 1 | -1/+1 |
| | |||||
* | cleanup | Aleksey Kladov | 2019-03-25 | 5 | -49/+68 |
| | |||||
* | switch modules to new diagnostics | Aleksey Kladov | 2019-03-25 | 7 | -99/+126 |
| | |||||
* | allow dyn diagnostics | Aleksey Kladov | 2019-03-25 | 4 | -15/+98 |
| | |||||
* | diagnostics | Aleksey Kladov | 2019-03-25 | 5 | -5/+45 |
| | |||||
* | Target only the actual operator. | Marco Groppo | 2019-03-24 | 1 | -2/+2 |
| | | | | | Renamed `BinExpr::op()` and `PrefixExpr::op()` to `op_kind`. Now `op()` returns the `SyntaxNode`. | ||||
* | Fix apply_substs assertion failure | Florian Diebold | 2019-03-23 | 2 | -2/+25 |
| | | | | Fixes #1030. | ||||
* | remove obsolete diagnostic | Aleksey Kladov | 2019-03-23 | 1 | -1/+0 |
| | |||||
* | rename persistent hir database -> def database | Aleksey Kladov | 2019-03-23 | 16 | -154/+104 |
| | |||||
* | replace todo with fixme | Aleksey Kladov | 2019-03-23 | 13 | -53/+53 |
| | |||||
* | Refactor primitive types into more orthogonal representation | yanchith | 2019-03-22 | 4 | -144/+155 |
| | |||||
* | Assert in apply_substs that the number of parameters doesn't change | Florian Diebold | 2019-03-21 | 2 | -2/+7 |
| | | | | ... and fix a small bug revealed by that. | ||||
* | Rename name field to ctor as well | Florian Diebold | 2019-03-21 | 4 | -28/+28 |
| | |||||
* | Some more doc comments | Florian Diebold | 2019-03-21 | 1 | -2/+12 |
| | |||||
* | TypeName => TypeCtor | Florian Diebold | 2019-03-21 | 6 | -95/+95 |
| | |||||
* | Remove the old variants replaced by Ty::Apply | Florian Diebold | 2019-03-21 | 6 | -350/+236 |
| | |||||
* | Add Ty::Apply | Florian Diebold | 2019-03-21 | 1 | -1/+177 |
| | |||||
* | Represent FnPtr and Tuple using Substs | Florian Diebold | 2019-03-21 | 3 | -27/+33 |
| | |||||
* | make Name::new private | Aleksey Kladov | 2019-03-20 | 4 | -20/+62 |
| | |||||
* | Fixed typo in `Interner`’s name (`Intener`) | Vincent Esche | 2019-03-20 | 1 | -17/+17 |
| | |||||
* | import resolution is immutable | Aleksey Kladov | 2019-03-19 | 1 | -1/+1 |
| | |||||
* | Merge #982 | bors[bot] | 2019-03-17 | 3 | -17/+137 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | 3 | -76/+103 |
| | | |||||
| * | 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. | ||||
* | | docs | Aleksey Kladov | 2019-03-17 | 1 | -9/+15 |
| | | |||||
* | | remove fixme | Aleksey Kladov | 2019-03-17 | 1 | -2/+1 |
| | | |||||
* | | remove old macro support | Aleksey Kladov | 2019-03-17 | 6 | -183/+91 |
| | | |||||
* | | rename ModuleId -> CrateModuleId | Aleksey Kladov | 2019-03-17 | 8 | -39/+40 |
| | | |||||
* | | fix error on wrong path | Aleksey Kladov | 2019-03-17 | 3 | -10/+41 |
| | | |||||
* | | log time | Aleksey Kladov | 2019-03-17 | 1 | -0/+2 |
| | | |||||
* | | Reorganize name resolution | Aleksey Kladov | 2019-03-17 | 14 | -522/+481 |
| | | |||||
* | | remove lower module | Aleksey Kladov | 2019-03-17 | 9 | -254/+43 |
| | | |||||
* | | remove ItemMap | Aleksey Kladov | 2019-03-17 | 7 | -569/+59 |
| | | |||||
* | | move tests over to crate-def-map | Aleksey Kladov | 2019-03-17 | 9 | -850/+689 |
| | | |||||
* | | Replace module_tree with CrateDefMap | Aleksey Kladov | 2019-03-17 | 15 | -510/+332 |
| | | |||||
* | | add name resolution from the old impl | Aleksey Kladov | 2019-03-17 | 5 | -168/+724 |
| | | | | | | | | unlike the old impl, this also handles macro imports across crates | ||||
* | | add skeleton for macro-aware name resolutions | Aleksey Kladov | 2019-03-17 | 7 | -9/+769 |
| | |