aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'upstream/master' into issue961_profilingSergey Parilin2019-04-0221-502/+931
|\
| * more realistic test for incrementalityAleksey Kladov2019-03-261-5/+22
| |
| * reduce visibilityAleksey Kladov2019-03-262-12/+12
| |
| * renameAleksey Kladov2019-03-266-54/+42
| |
| * simplifyAleksey Kladov2019-03-263-21/+21
| |
| * make stuff privateAleksey Kladov2019-03-261-26/+14
| |
| * more type safetyAleksey Kladov2019-03-265-63/+82
| |
| * strongy-typed ids for macrosAleksey Kladov2019-03-264-33/+19
| |
| * add typed idsAleksey Kladov2019-03-267-45/+88
| |
| * remove some dead codeAleksey Kladov2019-03-261-17/+1
| |
| * simplifyAleksey Kladov2019-03-263-8/+6
| |
| * move source_id to a separate fileAleksey Kladov2019-03-268-120/+128
| |
| * make macro parsing a queryAleksey Kladov2019-03-263-5/+8
| |
| * reduce visibilityAleksey Kladov2019-03-261-23/+27
| |
| * store macro def inside macro idAleksey Kladov2019-03-267-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 methodsFlorian Diebold2019-03-252-10/+15
| |
| * Implement a very naive implements checkFlorian Diebold2019-03-254-12/+50
| | | | | | | | ... to make the infer_trait_method_simple test have the correct result.
| * Basics for trait method resolutionFlorian Diebold2019-03-259-23/+147
| |
| * move tests to where they belongAleksey Kladov2019-03-251-0/+1
| |
| * tweak diagnostics APIAleksey Kladov2019-03-252-9/+14
| |
| * test diagnosticsAleksey Kladov2019-03-253-1/+61
| |
| * more enterprisey diagnostics setupAleksey Kladov2019-03-252-10/+45
| |
| * fixesAleksey Kladov2019-03-251-1/+1
| |
| * check impls as wellAleksey Kladov2019-03-251-1/+1
| |
| * cleanupAleksey Kladov2019-03-255-49/+68
| |
| * switch modules to new diagnosticsAleksey Kladov2019-03-257-99/+126
| |
| * allow dyn diagnosticsAleksey Kladov2019-03-254-15/+98
| |
| * diagnosticsAleksey Kladov2019-03-255-5/+45
| |
* | PR issuse resolvedSergey Parilin2019-04-022-2/+3
|/
* Target only the actual operator.Marco Groppo2019-03-241-2/+2
| | | | | Renamed `BinExpr::op()` and `PrefixExpr::op()` to `op_kind`. Now `op()` returns the `SyntaxNode`.
* Fix apply_substs assertion failureFlorian Diebold2019-03-232-2/+25
| | | | Fixes #1030.
* remove obsolete diagnosticAleksey Kladov2019-03-231-1/+0
|
* rename persistent hir database -> def databaseAleksey Kladov2019-03-2316-154/+104
|
* replace todo with fixmeAleksey Kladov2019-03-2313-53/+53
|
* Refactor primitive types into more orthogonal representationyanchith2019-03-224-144/+155
|
* Assert in apply_substs that the number of parameters doesn't changeFlorian Diebold2019-03-212-2/+7
| | | | ... and fix a small bug revealed by that.
* Rename name field to ctor as wellFlorian Diebold2019-03-214-28/+28
|
* Some more doc commentsFlorian Diebold2019-03-211-2/+12
|
* TypeName => TypeCtorFlorian Diebold2019-03-216-95/+95
|
* Remove the old variants replaced by Ty::ApplyFlorian Diebold2019-03-216-350/+236
|
* Add Ty::ApplyFlorian Diebold2019-03-211-1/+177
|
* Represent FnPtr and Tuple using SubstsFlorian Diebold2019-03-213-27/+33
|
* 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.