aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir
Commit message (Collapse)AuthorAgeFilesLines
...
* make Name::new privateAleksey Kladov2019-03-204-20/+62
|
* Fixed typo in `Interner`’s name (`Intener`)Vincent Esche2019-03-201-17/+17
|
* import resolution is immutableAleksey Kladov2019-03-191-1/+1
|
* Merge #982bors[bot]2019-03-173-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 Killough2019-03-173-76/+103
| |
| * Simplify match statement.Michael Killough2019-03-171-6/+1
| |
| * impl Default for BindingMode.Michael Killough2019-03-171-5/+11
| | | | | | | | | | This decouples callers from knowing what the default binding mode of pattern matching is.
| * Implement BindingMode for pattern matching.Michael Killough2019-03-162-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.
* | docsAleksey Kladov2019-03-171-9/+15
| |
* | remove fixmeAleksey Kladov2019-03-171-2/+1
| |
* | remove old macro supportAleksey Kladov2019-03-176-183/+91
| |
* | rename ModuleId -> CrateModuleIdAleksey Kladov2019-03-178-39/+40
| |
* | fix error on wrong pathAleksey Kladov2019-03-173-10/+41
| |
* | log timeAleksey Kladov2019-03-171-0/+2
| |
* | Reorganize name resolutionAleksey Kladov2019-03-1714-522/+481
| |
* | remove lower moduleAleksey Kladov2019-03-179-254/+43
| |
* | remove ItemMapAleksey Kladov2019-03-177-569/+59
| |
* | move tests over to crate-def-mapAleksey Kladov2019-03-179-850/+689
| |
* | Replace module_tree with CrateDefMapAleksey Kladov2019-03-1715-510/+332
| |
* | add name resolution from the old implAleksey Kladov2019-03-175-168/+724
| | | | | | | | unlike the old impl, this also handles macro imports across crates
* | add skeleton for macro-aware name resolutionsAleksey Kladov2019-03-177-9/+769
| |
* | Remove FnSig from FnDef typeFlorian Diebold2019-03-164-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 bitFlorian Diebold2019-03-163-70/+104
| |
* | Some more Ty displaying cleanupFlorian Diebold2019-03-162-35/+33
| |
* | Replace Display by a pretty printing trait for TyFlorian Diebold2019-03-165-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::ModuleDefpcpthm2019-03-141-1/+1
|/
* remove DefAleksey Kladov2019-03-122-6/+0
|
* Add support for goto definition and hover on SelfVille Penttinen2019-03-071-24/+25
| | | | This fixes #943
* Updateskjeremy2019-03-051-2/+2
|
* Use impl_froms!kjeremy2019-03-041-13/+3
|
* Make ExpOrPatId privatekjeremy2019-03-041-3/+6
|
* Remove commented out codeJeremy Kolb2019-03-041-9/+0
|
* Use ImplItems instead of just FunctionJeremy Kolb2019-03-041-34/+48
|
* Make goto definition/hover resolve constructorskjeremy2019-03-041-3/+40
|
* Inline type inference test snapshotsFlorian Diebold2019-03-0359-1504/+1096
|
* Represent unknown types as {unknown} instead of [unknown]Florian Diebold2019-03-0328-171/+171
| | | | Since the latter could actually be a real type...
* Add a bunch of tests for type inference involving traitsFlorian Diebold2019-03-0213-0/+403
| | | | None of them works correctly yet, of course.
* Merge #915bors[bot]2019-03-0210-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 commentAleksey Kladov2019-03-021-1/+0
| |
| * remove second way to get the bodyAleksey Kladov2019-03-021-4/+0
| |
| * rename syntax_mapping as wellAleksey Kladov2019-03-021-1/+1
| |
| * align lower module query namesAleksey Kladov2019-03-026-21/+14
| |
| * rename scopesAleksey Kladov2019-03-024-9/+9
| |
| * rename to source_mapAleksey Kladov2019-03-022-17/+13
| |
| * dont store body inside source mapAleksey Kladov2019-03-024-60/+53
| |
| * rename syntax-mapping -> source-mapAleksey Kladov2019-03-025-24/+24
| |
* | A bit of cleanup in ty.rsFlorian Diebold2019-03-021-28/+1
|/
* Remove `TypeRef` from item opts which implement TypeAscriptionOwnerVille Penttinen2019-02-274-10/+10
|
* Use TypeAscriptionOwnerVille Penttinen2019-02-261-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 #897bors[bot]2019-02-2511-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]>