Commit Graph

6570 Commits

Author SHA1 Message Date
Florian Diebold dfe95d735b Remove Arc from RawVisibility
Now that it's not used as a direct query return value anymore, it doesn't need
to be cheaply cloneable anymore.
2019-12-26 16:42:57 +01:00
Florian Diebold 04cf98f8a6 Fix cross-crate glob privacy handling 2019-12-26 16:31:38 +01:00
Florian Diebold 78111620a3 Remove visibility query, instead add struct field visibility to data
Methods should be handled the same, and for items the visibility will be in the
def map.
2019-12-26 16:23:40 +01:00
Florian Diebold 50ebff257d Rename ResolvedVisibility -> Visibility 2019-12-26 16:23:40 +01:00
Florian Diebold e1a2961273 Rename Visibility -> RawVisibility 2019-12-26 16:23:40 +01:00
Florian Diebold 04e8eaa14b Handle privacy for modules 2019-12-26 16:23:40 +01:00
Florian Diebold 1a4a3eb69b Check for todo! macros in no_todo 2019-12-26 16:23:40 +01:00
Florian Diebold 21359c3ab5 Take visibility into account for glob imports 2019-12-26 16:23:40 +01:00
Florian Diebold 8ac25f119e Keep track of visibility during def collection 2019-12-26 16:23:40 +01:00
Florian Diebold 79c90b5641 Collect visibility of items during nameres 2019-12-26 16:23:40 +01:00
Florian Diebold c31dae2aca Add doc comment 2019-12-26 16:23:40 +01:00
Florian Diebold 8aeaf93b9a Make enum variant fields public 2019-12-26 16:23:40 +01:00
Florian Diebold 9e9c4be48a Hide completions for private struct fields 2019-12-26 16:23:40 +01:00
Florian Diebold ca15cf422c Add visibility in code model for fields 2019-12-26 16:23:40 +01:00
Florian Diebold 1ce809d0fa Add logic for resolving and checking visibility 2019-12-26 16:23:40 +01:00
Florian Diebold 069bf55cca Add infrastructure for visibility on syntax and hir_def level 2019-12-26 16:23:40 +01:00
bors[bot] 97f01396ed Merge #2658
2658: Only add features flags if non-empty r=matklad a=edwin0cheng

This prevent error when disabled  `all-features` in a cargo workspace, because of `--features is not allowed in the root of a virtual workspace` when running `cargo metadata`.

Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2019-12-25 20:26:08 +00:00
bors[bot] 24e552fadf Merge #2663
2663: Fill in type params in 'add missing impl members' assist r=flodiebold a=flodiebold



Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-12-25 19:26:18 +00:00
bors[bot] 52b44ba7ed Merge #2662
2662: Notify that latest version of VS Code is required r=matklad a=spebern

Suggested in #2660.

Co-authored-by: bold <bold@cryptoguru.com>
2019-12-25 00:14:51 +00:00
Florian Diebold c39352fa43 Fill in type params in 'add missing impl members' assist 2019-12-24 17:29:27 +01:00
bors[bot] 3f7e5cde0b Merge #2661
2661: Implement infer await from async function r=flodiebold a=edwin0cheng

This PR is my attempt for trying to add support for infer `.await` expression from an `async` function, by desugaring its return type to `Impl Future<Output=RetType>`.

Note that I don't know it is supposed to desugaring it in that phase, if it is not suitable in current design, just feel free to reject it :)

r=@flodiebold 

Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2019-12-24 16:28:46 +00:00
Edwin Cheng 208ad97fdc Remove AsyncOwner 2019-12-25 00:25:18 +08:00
Edwin Cheng 42813126d9 Check if parameters is empty 2019-12-25 00:12:29 +08:00
Edwin Cheng 3a2cf708ed Add FIXME 2019-12-24 23:39:17 +08:00
Edwin Cheng d0537cda9e Formatting 2019-12-24 20:30:39 +08:00
bold 2a09752137 Notify that latest version of VS Code is required 2019-12-24 20:04:42 +08:00
Edwin Cheng 0edb5b4a50 Implement infer await from async func 2019-12-24 19:45:28 +08:00
bors[bot] aa49b79bda Merge #2659
2659: Update lsp-types and rayon r=kjeremy a=kjeremy

Brings in https://github.com/gluon-lang/lsp-types/pull/129 for https://github.com/rust-analyzer/rust-analyzer/issues/2651#issuecomment-568554427

Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
2019-12-23 23:47:32 +00:00
Jeremy Kolb 9c92f205b1 Update lsp-types and rayon 2019-12-23 18:46:04 -05:00
Edwin Cheng 4ee3c5202e Only add features flags if non-empty 2019-12-24 00:27:48 +08:00
bors[bot] 527027d32e Merge #2655
2655: lsp-types 0.67 r=matklad a=kjeremy



Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
2019-12-23 14:38:59 +00:00
Jeremy Kolb 019fab2261 lsp-types 0.67 2019-12-23 09:33:49 -05:00
bors[bot] ce07a2daa9 Merge #2636
2636: Chalk update and refactoring r=flodiebold a=flodiebold

This updates the Chalk integration to https://github.com/rust-lang/chalk/pull/311, which will presumably get merged soon, and refactors it some more, most notably introducing our own `TypeFamily` instead of reusing `ChalkIr`. It's still mostly the same as `ChalkIr` though, except for using Salsa `InternId`s directly.

Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-12-23 10:58:06 +00:00
bors[bot] 31c5888a4c Merge #2652
2652: Bump lsp-types to 0.66.0 (fixes #2651) r=matklad a=udoprog



Co-authored-by: John-John Tedro <udoprog@tedro.se>
2019-12-23 10:19:32 +00:00
John-John Tedro 700e74df4a Bump lsp-types to 0.66.0 (fixes #2651) 2019-12-23 11:03:41 +01:00
Florian Diebold 1f7f4578f7 Filter out error predicates in type bounds as well 2019-12-23 00:08:03 +01:00
Florian Diebold 4053fcfca0 Introduce our own Chalk TypeFamily, instead of using ChalkIr
It's not very different, except we can directly use Salsa IDs instead of casting
them. This means we need to refactor the handling of errors to get rid of
UNKNOWN_TRAIT though.
2019-12-23 00:08:03 +01:00
Florian Diebold 6b5efe5bda Refactor Chalk integration some more 2019-12-23 00:08:03 +01:00
Florian Diebold 67a2555f6d Update Chalk, clean up Chalk integration a bit 2019-12-23 00:08:03 +01:00
bors[bot] 60aa4d12f9 Merge #2648
2648: Rudimentary name resolution for local items r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-12-22 21:42:54 +00:00
Aleksey Kladov e424545c0f Rudimentary name resolution for local items 2019-12-22 22:41:21 +01:00
Aleksey Kladov 7c405c0156 Simplify 2019-12-22 19:32:35 +01:00
Aleksey Kladov 007032f850 Refactor 2019-12-22 19:31:01 +01:00
bors[bot] 78f7683b9a Merge #2646
2646: Share impl Scope between modules and blocks r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-12-22 14:57:34 +00:00
Aleksey Kladov baee746185 Share impl Scope between modules and blocks 2019-12-22 15:52:35 +01:00
bors[bot] 2d003b6378 Merge #2645
2645: Simplify r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-12-22 14:43:15 +00:00
Aleksey Kladov 6c3ddcfa50 Simplify 2019-12-22 15:37:53 +01:00
Aleksey Kladov e8da7d4061 Remove unused parameters 2019-12-22 15:31:30 +01:00
Aleksey Kladov 558956c84b Remove import field 2019-12-22 15:28:55 +01:00
Aleksey Kladov 2c60f42825 Separate defs from imports 2019-12-22 15:21:48 +01:00