Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | 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 | |
| | | ||||||
* | | Remove FnSig from FnDef type | Florian Diebold | 2019-03-16 | 4 | -21/+26 | |
| | | | | | | | | | | 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 | 3 | -70/+104 | |
| | | ||||||
* | | Some more Ty displaying cleanup | Florian Diebold | 2019-03-16 | 2 | -35/+33 | |
| | | ||||||
* | | Replace Display by a pretty printing trait for Ty | Florian Diebold | 2019-03-16 | 5 | -54/+126 | |
| | | | | | | | | | | This allows removing the names from Adt and FnDef (and more later), as a first step towards aligning more with chalk's Ty :) | |||||
* | | derive Hash for ra_hir::ModuleDef | pcpthm | 2019-03-14 | 1 | -1/+1 | |
|/ | ||||||
* | remove Def | Aleksey Kladov | 2019-03-12 | 2 | -6/+0 | |
| | ||||||
* | Add support for goto definition and hover on Self | Ville Penttinen | 2019-03-07 | 1 | -24/+25 | |
| | | | | This fixes #943 | |||||
* | 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 | 28 | -171/+171 | |
| | | | | 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. | |||||
* | Merge #915 | bors[bot] | 2019-03-02 | 10 | -112/+89 | |
|\ | | | | | | | | | | | | | | | | | | | | | 915: Bring BodySyntaxMapping in line with other source-map instances r=flodiebold a=matklad * rename to SourceMap * don't store the actual body inline, just return a pair r? @flodiebold Co-authored-by: Aleksey Kladov <[email protected]> | |||||
| * | remove comment | Aleksey Kladov | 2019-03-02 | 1 | -1/+0 | |
| | | ||||||
| * | remove second way to get the body | Aleksey Kladov | 2019-03-02 | 1 | -4/+0 | |
| | | ||||||
| * | rename syntax_mapping as well | Aleksey Kladov | 2019-03-02 | 1 | -1/+1 | |
| | | ||||||
| * | align lower module query names | Aleksey Kladov | 2019-03-02 | 6 | -21/+14 | |
| | | ||||||
| * | rename scopes | Aleksey Kladov | 2019-03-02 | 4 | -9/+9 | |
| | | ||||||
| * | rename to source_map | Aleksey Kladov | 2019-03-02 | 2 | -17/+13 | |
| | | ||||||
| * | dont store body inside source map | Aleksey Kladov | 2019-03-02 | 4 | -60/+53 | |
| | | ||||||
| * | rename syntax-mapping -> source-map | Aleksey Kladov | 2019-03-02 | 5 | -24/+24 | |
| | | ||||||
* | | A bit of cleanup in ty.rs | Florian Diebold | 2019-03-02 | 1 | -28/+1 | |
|/ | ||||||
* | Remove `TypeRef` from item opts which implement TypeAscriptionOwner | Ville Penttinen | 2019-02-27 | 4 | -10/+10 | |
| | ||||||
* | Use TypeAscriptionOwner | Ville Penttinen | 2019-02-26 | 1 | -8/+5 | |
| | | | | | | This replaces places where we would use node + node.type_ref() with things that have an ascribed type, with using the TypeAscriptionOwner as the trait bound so we can simply pass the node. | |||||
* | Merge #897 | bors[bot] | 2019-02-25 | 11 | -20/+206 | |
|\ | | | | | | | | | | | | | | | | | | | 897: Add basic const/static type inference r=flodiebold a=vipentti This adds basic const/static type inference discussed in #887. Currently the inference does not work for const/static declared inside a block. In addition the inference does not work inside the bodies of const/static. Co-authored-by: Ville Penttinen <[email protected]> | |||||
| * | Move ConstSignature creation to a single method | Ville Penttinen | 2019-02-25 | 1 | -17/+13 | |
| | |