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