Jonas Schievink
f7e6b186e1
Intern ModPath
in Import
...
Minor savings only
2021-04-03 20:57:25 +02:00
Jonas Schievink
39d992ef55
Intern Attr, MacroCall and Path components
2021-04-01 20:35:21 +02:00
Jonas Schievink
b00266b79f
Global TypeRef/TraitRef interning
2021-04-01 19:46:43 +02:00
Edwin Cheng
6a3f2ce76c
Fix block inner item defined in macro
2021-04-01 03:45:21 +08:00
Lukas Wirth
b4bb774381
Remove TraitRef::Error
2021-03-29 18:41:21 +02:00
Lukas Wirth
c2a63b97a8
Rename target_ty to self_ty
2021-03-29 17:47:47 +02:00
Lukas Wirth
bb6e1bf811
Lower traits to TraitRef instead of TypeRef
2021-03-29 17:11:28 +02:00
Edwin Cheng
8ce15b02de
Fix recursive macro statement expansion
2021-03-26 04:21:15 +08:00
bors[bot]
d3da042a62
Merge #8082
...
8082: Proper handle inner recursive macro rules cases r=edwin0cheng a=edwin0cheng
Fixes #7645
cc @jonas-schievink
bors r+
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2021-03-18 12:25:44 +00:00
Edwin Cheng
13f30e9ef5
Handle inner recursive macro rules cases
2021-03-18 20:19:15 +08:00
Jonas Schievink
622c780a8c
ItemTree: lower attributes on fn parameters
2021-03-17 18:28:27 +01:00
oxalica
87171238c6
Use hir formatter more
2021-03-16 01:04:33 +08:00
oxalica
2bb8956a10
Introduce FunctionQualifier for hir::FunctionData
2021-03-16 01:03:07 +08:00
Laurențiu Nicola
fc9eed4836
Use upstream cov-mark
2021-03-08 22:19:44 +02:00
Jonas Schievink
5d99ba1d9a
Make ModPath
's representation private
2021-02-04 20:49:24 +01:00
Jonas Schievink
003ee0086a
Intern TypeRef
s in the containing ItemTree
2021-02-04 19:23:56 +01:00
Jonas Schievink
eda1cb7ceb
Add a FIXME to ItemTree
2021-02-03 18:14:39 +01:00
Jonas Schievink
2aebde6c0b
ItemTree: Treat items in MacroStmts
as top-level
2021-01-28 18:00:10 +01:00
Laurențiu Nicola
5ed5a542fb
Derive Default on ItemTree
2021-01-25 14:12:53 +02:00
Jonas Schievink
8916b0c6cb
Remove unused field
2021-01-21 21:12:26 +01:00
Jonas Schievink
d62c9c6c63
Fix lowering with multiple block expressions
2021-01-21 16:23:22 +01:00
Jonas Schievink
c5ed2284b5
Create a mapping from blocks to inner items
2021-01-20 15:00:28 +01:00
Aramis Razzaghipour
1d103cf087
Use ‘index’ terminology for arena consistently
2021-01-17 18:38:08 +11:00
Jonas Schievink
77972e2001
Don't look at attributes when lowering to ItemTree
...
Resolves 2 `cfg_attr` FIXMEs
2020-12-18 20:37:26 +01:00
Jonas Schievink
4f07d8dd58
Refactor attributes API to allow handling cfg_attr
2020-12-18 02:24:14 +01:00
Jonas Schievink
28b5334580
Avoid querying attributes in item tree lowering
...
ItemTree is per-file, so there is no unique crate associated with it.
This means that it cannot know the active CfgOptions and thus couldn't
handle `cfg_attr`.
Prepare it for `cfg_attr`s by avoiding accessing attributes.
2020-12-16 23:42:03 +01:00
Lukas Wirth
dd496223f5
Node-ify lifetimes
2020-12-16 14:16:09 +01:00
Jonas Schievink
c31c3246a8
Basic support for decl macros 2.0
2020-12-15 18:43:34 +01:00
Jonas Schievink
c1cb595382
Move to upstream macro_rules!
model
2020-12-15 15:37:37 +01:00
Lukas Wirth
c6172f3f6d
Add LifetimeParam resolving to Semantics
2020-12-14 16:04:28 +01:00
Lukas Wirth
11f8664182
Add Lifetimes to the HIR
2020-12-12 00:56:52 +01:00
Jonas Schievink
d338513e95
Remove item tree tests
...
They were useful during initial development of the item tree, but
now just cause churn
2020-12-10 15:53:48 +01:00
Jonas Schievink
d82292e1ce
Ignore extern items in incorrect-case check
2020-12-10 15:45:01 +01:00
Francesco Zardi
aff04d81ba
Refactor is_intrinsic_fn_unsafe() and make it private
2020-10-21 21:53:37 +02:00
Francesco Zardi
0be21b05d6
Move safe intrinsic tests
2020-10-21 21:53:05 +02:00
Francesco Zardi
a9d996a7c5
Add whitelist of safe intrinsics
2020-10-21 09:06:05 +02:00
Zac Pullar-Strecker
ec75d8bd75
Update tests for new function field
2020-10-08 15:04:57 +13:00
Zac Pullar-Strecker
c648884397
Differentiate method/tymethod by determining 'defaultness'
...
Currently a method only has defaultness if it is a provided trait
method, but this will change when specialisation is available and may
need to become a concept known to hir.
I opted to go for a 'fewest changes' approach given specialisation is
still under development.
2020-10-08 15:04:21 +13:00
Jonas Schievink
6eea06415d
Give ExternCrate
a Name
, not a ModPath
2020-09-17 15:28:23 +02:00
bors[bot]
933fc1eb18
Merge #6016
...
6016: Emit diagnostics for unresolved imports and extern crates r=jonas-schievink a=jonas-schievink
AFAIK, we don't have any major bugs in name resolution that would cause a lot of false positives here (except procedural attribute macro support and some rare issues around `#[path]` on module files), so these are *not* marked as experimental diagnostics right now.
I noticed that diagnostics in a file sometimes don't get displayed after opening, but require some edit to be performed. This seems like a preexisting issue though.
Co-authored-by: Jonas Schievink <jonas.schievink@ferrous-systems.com>
2020-09-17 13:00:25 +00:00
Jonas Schievink
44f4510caa
Store Import
indices for later reconstruction
2020-09-16 12:35:09 +02:00
Charles Lew
b302f69b7c
Update chalk to 0.27 and adapt to chalk changes.
2020-09-15 22:37:05 +08:00
Jonas Schievink
f3ac19e8cd
Support extern types
2020-08-24 22:02:55 +02:00
Aleksey Kladov
b0fd3faf36
Switch to expect_test from crates.io
2020-08-21 13:19:31 +02:00
Aleksey Kladov
b28c54a2c2
Rename ra_hir_def -> hir_def
2020-08-13 16:29:33 +02:00