Lukas Wirth
8f5fee4a5a
Diagnose incorrect and private fields in record structs
2023-09-09 10:45:29 +02:00
Lukas Wirth
96f19231d3
Fix hir pretty printing emitting trailing whitespace
2023-09-06 19:31:48 +02:00
Lukas Wirth
5046889f43
Don't allocate the format_args template string as an expression
2023-09-06 19:18:12 +02:00
Lukas Wirth
5fdd1e36e3
Remove todo!()
s
2023-09-06 15:30:44 +02:00
Lukas Wirth
e243a03da1
Desugar builtin#format_args
2023-09-06 15:21:41 +02:00
Lukas Wirth
abe8f1ece4
Implement builtin#format_args, using rustc's format_args parser
2023-09-05 19:19:46 +02:00
Lukas Wirth
3431d586e5
Insert builtin#asm into asm! expansion
2023-09-05 14:00:49 +02:00
Lukas Wirth
15048304e3
Implement offset_of in hir-def and hir-ty
2023-09-05 12:27:52 +02:00
Lukas Wirth
9b8eb807a3
Parse builtin# syntax
2023-09-05 10:36:35 +02:00
xffxff
204bc2cb60
fix: diagnostics for 'while let' loop with label in condition
2023-08-26 10:41:19 +08:00
bors
49716e681a
Auto merge of #15472 - Veykril:import-ide-support, r=Veykril
...
internal: Record import origins in ItemScope and PerNS
This records the import items definitions come from in the module scope (as well as what an import resolves to in an ItemScope). It does ignore glob imports as thats a lot more work for little to no gain, glob imports act as if the importing items are "inlined" into the scope which suffices for almost all use cases I believe (to my knowledge, attributes on them have little effect).
There is still a lot of work needed to make this available to the IDE layer, but this lays out the ground work for havin IDE layer support.
cc https://github.com/rust-lang/rust-analyzer/issues/14079
2023-08-17 09:56:42 +00:00
Lukas Wirth
c4e9b5ac64
Add import info to item scope dumps
2023-08-17 09:33:15 +02:00
bors
2fbe69d117
Auto merge of #15438 - Veykril:eager-parser-stuck, r=Veykril
...
fix: Fix parser being stuck in eager macro inputs
Fixes https://github.com/rust-lang/rust-analyzer/issues/15437
2023-08-12 14:30:38 +00:00
Lukas Wirth
9ac88d8d36
Fix parser being stuck in eager macro inputs
2023-08-12 08:27:27 +02:00
Lukas Wirth
e5b23e3bc1
Derive block attributes from block item tree
2023-08-10 18:52:27 +02:00
Lukas Wirth
042be329a7
Turn unresolved proc macro expansions into missing expressions
2023-08-05 20:00:37 +02:00
hkalbasi
cc5664c5a2
Add rustc comment into while desugaring
2023-08-04 16:35:13 +03:30
Tadeo Kondrak
92a97c292a
hir: Remove Expr::While
...
The previous commit desugared it to a loop.
2023-08-01 19:08:16 -06:00
Tadeo Kondrak
31bcba84f9
hir: Desugar while
to loop
and break
2023-08-01 19:04:36 -06:00
oxalica
59a3e42ac9
Fix unescaping of C string literals
2023-07-18 18:52:34 +08:00
hkalbasi
3a1054fc1c
Replace x
with it
2023-07-06 17:33:17 +03:30
Lukas Wirth
69cd3c30ac
Format let-else
2023-07-03 20:34:09 +02:00
Ryo Yoshida
4e793e7859
Use anonymous lifetime where possible
2023-06-29 23:27:28 +09:00
Ryo Yoshida
56dd5368f5
Refactor
...
- don't take `&self` as receiver for `Copy` types
- simplify `hir::Module::nearest_non_block_module()`
- style changes for consistency
2023-06-27 16:01:07 +09:00
Ryo Yoshida
a02846343f
Fix self
and super
path resolution in block modules
2023-06-27 15:29:08 +09:00
Lukas Wirth
c3186202a2
Shrink size of hir::Binding
2023-06-18 12:03:04 +02:00
Lukas Wirth
83d7724629
fix: Add binding definition for for-expr iterator desugared binding
2023-06-18 11:44:01 +02:00
Lukas Wirth
abe249559d
internal: Give ConstBlockId and InTypeConstId named Location types
2023-06-12 18:21:17 +02:00
hkalbasi
a481e004b0
Lower const params with a bad id
2023-06-11 00:39:28 +03:30
hkalbasi
71f3e4b08c
Detect "bound more than once" error and suppress need-mut
for it.
2023-06-04 12:39:36 +03:30
bors
0b4c09b1d2
Auto merge of #14941 - Veykril:def-map, r=Veykril
...
Shrink `DefMap`, share crate level items with block def maps
2023-06-01 16:42:12 +00:00
bors
4458e7f190
Auto merge of #14942 - HKalbasi:for-loop-label, r=HKalbasi
...
fix bug in labeled for loop desugaring
fix https://github.com/rust-lang/rust-analyzer/pull/14892#discussion_r1213091393
2023-06-01 14:54:47 +00:00
hkalbasi
f4c52b40bd
fix bug in labeled for loop desugaring
2023-06-01 17:51:53 +03:30
Lukas Wirth
5c466ccc2b
Refactor out some crate wide data in DefMap into nested struct
2023-06-01 15:04:38 +02:00
Lukas Wirth
dc7c6d43c7
Slightly shrink DefMap
2023-06-01 14:46:36 +02:00
Lukas Wirth
0e28202832
Insert missing expr/pat for leading comma tuples
2023-06-01 08:56:40 +02:00
hkalbasi
51368793b4
MIR episode 6
2023-05-28 23:25:15 +03:30
Lukas Wirth
c7ef6c25b7
internal: Replace Display impl for Name
2023-05-24 20:55:12 +02:00
bors
2df56cadcb
Auto merge of #14755 - poliorcetics:clippy-fixes, r=Veykril
...
Fix: a TODO and some clippy fixes
- fix(todo): implement IntoIterator for ArenaMap<IDX, V>
- chore: remove unused method
- fix: remove useless `return`s
- fix: various clippy lints
- fix: simplify boolean test to a single negation
2023-05-24 11:13:52 +00:00
hkalbasi
4adfbbfbad
partially support panic message in MirEvalError
2023-05-18 18:30:49 +03:30
bors
9ce95674e8
Auto merge of #14837 - Veykril:rustc-lexer, r=Veykril
...
Support c string literals
2023-05-18 11:55:38 +00:00
Lukas Wirth
4b577e2bc8
Support c string literals
2023-05-18 11:06:05 +02:00
hkalbasi
cbcafd3539
MIR episode 5
2023-05-12 18:17:15 +03:30
Ryo Yoshida
f2a35deb50
Consider macro sub-namespace during name resolution
2023-05-11 21:13:12 +09:00
Alexis (Poliorcetics) Bourget
d7fdf141a4
fix: various clippy lints
2023-05-07 09:43:37 +02:00
Lukas Wirth
9419fcb109
fix: Fix body lowering not using block def maps
2023-05-04 20:46:05 +02:00
Laurențiu Nicola
7197a27028
Use triomphe Arc
2023-05-02 20:02:43 +03:00
hkalbasi
3a3c3630a2
fix break-outside-of-loop false positive in try block
2023-05-02 03:11:56 +03:30
hkalbasi
6312fbf521
MIR episode 4
2023-05-01 23:23:10 +03:30
Lukas Wirth
bca8029a6e
Move Expander and LowerCtx into separate modules
2023-04-17 20:44:06 +02:00