Commit Graph

6736 Commits

Author SHA1 Message Date
Edwin Cheng
16156d766d Add macro call support for type_of 2019-12-23 13:19:01 +08: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
Aleksey Kladov
e69af85962 Refactor PerNs construction 2019-12-22 15:10:19 +01:00
Aleksey Kladov
fe38fffaa9 Minor rename 2019-12-22 15:04:31 +01:00
bors[bot]
9f616ed65a
Merge #2644
2644: More compact profiling display r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-12-22 13:48:43 +00:00
Aleksey Kladov
08df355375 More compact profiling display 2019-12-22 14:17:31 +01:00
bors[bot]
db850cf976
Merge #2643
2643: Don't fire no-op changes after files are saved to disk r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-12-22 13:07:33 +00:00
Aleksey Kladov
6acef5a7c0 Don't fire no-op changes after files are saved to disk 2019-12-22 13:56:19 +01:00
bors[bot]
436df298ba
Merge #2642
2642: Use name instead of ident in parser for macro 2.0 syntax r=matklad a=edwin0cheng



Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2019-12-22 08:05:02 +00:00
bors[bot]
d33493d779
Merge #2641
2641: Parse const generics r=matklad a=roblabla

Adds very primitive support for parsing const generics (`const IDENT: TY`) so that rust-analyzer stops complaining about the syntax being invalid.

Fixes #1574
Fixes #2281 

Co-authored-by: roblabla <unfiltered@roblab.la>
2019-12-22 07:56:33 +00:00
Edwin Cheng
737045c1ea Use name instead of ident for macro 2.0 sytnax 2019-12-22 11:11:10 +08:00
roblabla
b04d4a88d1 Parse const generics
Fixes #1574
Fixes #2281
2019-12-22 01:32:08 +00:00
bors[bot]
000710bd08
Merge #2640
2640: Add some module docs r=kjeremy a=kjeremy



Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
2019-12-21 20:53:34 +00:00
Jeremy Kolb
4ef5cd9a89 Add some module docs 2019-12-21 15:27:38 -05:00
bors[bot]
2a6322c99e
Merge #2638
2638: More profiling r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-12-21 18:44:51 +00:00
Aleksey Kladov
e903f58d29 More profiling 2019-12-21 19:44:08 +01:00
bors[bot]
f874d6c475
Merge #2637
2637: Optimize and profile r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-12-21 17:46:52 +00:00
Aleksey Kladov
d4b135f38c Optimize and profile 2019-12-21 18:46:21 +01:00
bors[bot]
c59d10ab35
Merge #2635
2635: Remove import source map r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-12-21 16:35:21 +00:00
Aleksey Kladov
1a8f2aa024 Move LocalImportId 2019-12-21 17:34:28 +01:00
Aleksey Kladov
02f79e37ca Remove import source map 2019-12-21 17:26:28 +01:00
Aleksey Kladov
ec56f59ac1 Remove import from resolution 2019-12-21 17:26:28 +01:00
bors[bot]
6d8a2ec3dd
Merge #2634
2634: Update crates r=matklad a=kjeremy



Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
2019-12-21 15:56:04 +00:00
Jeremy Kolb
e9ed346968 Update crates 2019-12-21 10:44:02 -05:00
bors[bot]
4528cb3f2c
Merge #2633
2633: Remove imports from hir r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-12-21 14:25:15 +00:00
Aleksey Kladov
4e0168ec14 Remove imports from hir 2019-12-21 15:18:14 +01:00
bors[bot]
df45f28fed
Merge #2632
2632: Revert "Merge #2629" r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-12-21 14:08:10 +00:00
Aleksey Kladov
973b5cf7e2 Revert "Merge #2629"
This reverts commit cdc9d682b0, reversing
changes made to 90ef070db3.
2019-12-21 15:04:33 +01:00
bors[bot]
a1f4c988e4
Merge #2630
2630: Add dummy implementations of env! and option_env! builtins r=matklad a=flodiebold

They don't do anything except return the correct type.

Also refactor the builtin macro tests a bit.

Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-12-21 12:37:41 +00:00
Florian Diebold
2058f704cb Add dummy implementations of env! and option_env! builtins
They don't do anything except return the correct type.

Also refactor the builtin macro tests a bit.
2019-12-21 13:34:43 +01:00
bors[bot]
cdc9d682b0
Merge #2629
2629: Remove imports from hir r=matklad a=matklad

We only used them to avoid self-confirming completions (`use self::foo`), but that can be handled more locally.

bors r+

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-12-21 11:48:12 +00:00
Aleksey Kladov
2d3fdf3fb5 Privatize LocalImportID 2019-12-21 12:47:34 +01:00
Aleksey Kladov
d335311893 Remove import source map 2019-12-21 12:45:33 +01:00
Aleksey Kladov
ab7a70fb14 Don't track imports 2019-12-21 12:38:40 +01:00
Aleksey Kladov
67ba9072fa Remove hir for imports 2019-12-21 12:18:20 +01:00
bors[bot]
90ef070db3
Merge #2628
2628: Add macro 2.0 support in parser r=matklad a=edwin0cheng

This PR added a new syntax kind : `MACRO_DEF` and a keyword `MACRO_KW`

there are two syntax for declarative macro 2.0 :
1. Normal : `macro m { ($i:ident) => {} }` , which handle similar to legacy one. 
2. Call like: `macro m($i:ident) {}`, it produces a single token tree which have two child token trees : `($i:ident)` and `{}`

Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2019-12-21 10:47:47 +00:00