Commit Graph

6243 Commits

Author SHA1 Message Date
bors[bot]
7d088a16df
Merge #2421
2421: Cleanup r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-11-26 19:56:35 +00:00
Aleksey Kladov
bed6869865 Cleanup 2019-11-26 22:56:07 +03:00
Aleksey Kladov
cace49e9a7 Decouple 2019-11-26 22:31:04 +03:00
bors[bot]
d770f22c53
Merge #2420
2420: Remove last traces of adt from Ty r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-11-26 18:42:52 +00:00
bors[bot]
3206b83a70
Merge #2418
2418: Hide MacroCallLoc outside hir_expand  r=matklad a=edwin0cheng

This PR refactor `MacroCallLoc` such that it  be hided to become implementation details of hir_expand. 

Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2019-11-26 18:34:15 +00:00
Aleksey Kladov
936c6950e7 Remove last traces of adt from Ty 2019-11-26 21:32:39 +03:00
Aleksey Kladov
882fe0a47e More precise NameKind::Self 2019-11-26 21:32:39 +03:00
bors[bot]
141fca6006
Merge #2419
2419: Remove ns-polymorphic type_for_def r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-11-26 18:07:21 +00:00
Aleksey Kladov
4e415a269e Remove ns-polymorphic type_for_def 2019-11-26 21:04:24 +03:00
Edwin Cheng
447268ceac Hide MacroCallLoc 2019-11-27 01:33:08 +08:00
bors[bot]
3b0fc8ac62
Merge #2415
2415: Add note r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-11-26 16:31:20 +00:00
Aleksey Kladov
6fb4871f31 Add note 2019-11-26 19:30:57 +03:00
Aleksey Kladov
475367d08a Cleanup imports 2019-11-26 18:07:40 +03:00
Aleksey Kladov
b60b26b8ab Reduce visibility 2019-11-26 18:02:50 +03:00
Aleksey Kladov
72d8e7e69a Use TraitId in TraitRef 2019-11-26 18:01:34 +03:00
bors[bot]
6560e4ff2e
Merge #2413
2413: Remove another helper r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-11-26 14:45:31 +00:00
Aleksey Kladov
24b1e79af5 Remove another helper 2019-11-26 17:45:06 +03:00
Aleksey Kladov
25b32f9d68 Doc 2019-11-26 17:44:43 +03:00
Aleksey Kladov
d118997b93 Remove assoc_type_by_name helper 2019-11-26 17:44:43 +03:00
Aleksey Kladov
9bc8f1f4f8 Store names in TraitData 2019-11-26 17:44:43 +03:00
Aleksey Kladov
4a0792362e Detangle ty from traits a bit 2019-11-26 17:44:43 +03:00
bors[bot]
4d753fa6f5
Merge #2412
2412: Fix stale crates that snuck in r=kjeremy a=kjeremy



Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
2019-11-26 13:26:23 +00:00
Jeremy Kolb
b81548c73a Fix stale crates that snuck in 2019-11-26 08:20:40 -05:00
bors[bot]
4822d26540
Merge #2406
2406: Add hygiene information to SourceAnalyzer r=matklad a=edwin0cheng

This should fix https://github.com/rust-analyzer/rust-analyzer/pull/2392#issuecomment-557964686

Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2019-11-26 13:18:03 +00:00
Edwin Cheng
0623164c1d Remove dbg! 2019-11-26 21:13:36 +08:00
bors[bot]
36dca8de93
Merge #2410
2410: Introduce hir_ty r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-11-26 12:42:15 +00:00
Aleksey Kladov
4e17718a9a Doc primitives 2019-11-26 15:41:48 +03:00
Aleksey Kladov
45d05ed783 id-ify impls_in_crate_query 2019-11-26 15:36:25 +03:00
bors[bot]
280946e597
Merge #2411
2411: Update parking_lot and smallvec to drop some dependencies r=matklad a=kjeremy



Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
2019-11-26 12:31:24 +00:00
Jeremy Kolb
8b1f2cd14e Update parking_lot and smallvec to drop some dependencies 2019-11-26 07:29:28 -05:00
Aleksey Kladov
4c43631829 Introduce hir_ty 2019-11-26 15:06:06 +03:00
bors[bot]
6e36eadd26
Merge #2409
2409: Id-ify Ty::Adt r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-11-26 11:32:09 +00:00
Aleksey Kladov
a443b5033c Id-ify Ty::Adt 2019-11-26 14:29:12 +03:00
bors[bot]
500e022f7d
Merge #2398
2398: WIP: introduce hir::Type r=matklad a=matklad

This introduces `hir::Type` wrapper over `hir::Ty`, with two purposes:

* bind `Ty` and it's corresponding environment
  * Am I correct that `Ty` without an env doesn't make much sense, because the meaning of type parameters is unclear
  * Am I correct that we can safely re-use the same environment for all types derived from the given type? 
* hide representation defails of `Ty`. Specifically, I want to change `Ty::Adt` to use `hir_def::AdtId` instead of `hir::Adt`, but IDE doesn't know about underlying IDs. More generally, I feel like IDE shouldn't know that `Ty` is enum.

@flodiebold what do you think about this?

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-11-26 11:05:05 +00:00
Aleksey Kladov
e5eadb3390 Introduce hir::Type
It should provide a convenient API over more low-level Ty
2019-11-26 14:02:57 +03:00
bors[bot]
5901cc7360
Merge #2408
2408: Use chalk fork to paper over #2052 r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-11-26 08:46:48 +00:00
Aleksey Kladov
0a7ef09331 Use chalk fork to paper over #2052 2019-11-26 11:46:09 +03:00
bors[bot]
cc1ef95d19
Merge #2407
2407: ⬆️ salsa r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-11-26 08:29:53 +00:00
Aleksey Kladov
131c2da6bf ⬆️ salsa 2019-11-26 11:29:20 +03:00
Edwin Cheng
245a9b165a Add hygiene information to SourceAnalyzer 2019-11-26 15:05:53 +08:00
bors[bot]
58a3b3b502
Merge #2404
2404: Use TypeAliasId in Ty, pt 2 r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-11-25 15:58:54 +00:00
Aleksey Kladov
1a0da6d4da Use TypeAliasId in Ty, pt 2 2019-11-25 18:58:17 +03:00
Aleksey Kladov
6d2ec8765d Use TypeAliasId in Ty, pt 1 2019-11-25 18:44:36 +03:00
Aleksey Kladov
3e32ac4f86 More ids in Ty 2019-11-25 18:31:48 +03:00
bors[bot]
ecd1204804
Merge #2403
2403: Fixme for union fields r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-11-25 14:51:17 +00:00
Aleksey Kladov
1455663ea1 Fixme for union fields 2019-11-25 17:50:49 +03:00
Aleksey Kladov
5fd68b5929 Fix hir for ast::UnionDef 2019-11-25 17:50:49 +03:00
Aleksey Kladov
e1c0bdaf75 Introduce dedicated AST node for union
Although structs and unions have the same syntax and differ only in
the keyword, re-using the single syntax node for both of them leads to
confusion in practice, and propagates further down the hir in an
upleasent way.

Moreover, static and consts also share syntax, but we use different
nodes for them.
2019-11-25 17:50:49 +03:00
bors[bot]
be00d74c7b
Merge #2388
2388: Show missing struct fields in the error message r=matklad a=Frizi

This provides the most interesting information about the "missing structure fields" error directly to the user.

Co-authored-by: Frizi <frizi09@gmail.com>
2019-11-25 13:42:36 +00:00
bors[bot]
df25dd4d88
Merge #2402
2402: Use ids for Callable r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-11-25 13:34:12 +00:00