bors
990c48cb0d
Auto merge of #18131 - ChayimFriedman2:macro-expand-dollar-crate, r=Veykril
...
fix: Get rid of `$crate` in expansions shown to the user
Be it "Expand Macro Recursively", "Inline macro" or few other things.
We replace it with the crate name, as should've always been.
Probably fixes some issues, but I don't know what they are.
2024-09-18 20:17:21 +00:00
Chayim Refael Friedman
cfb701ac78
Get rid of $crate
in expansions shown to the user
...
Be it "Expand Macro Recursively", "Inline macro" or few other things.
We replace it with the crate name, as should've always been.
2024-09-18 18:30:59 +03:00
Shoyu Vanilla
d34a663c70
feat: Implement expr_2021
2024-09-18 15:58:03 +09:00
Lukas Wirth
4502a602a7
internal: Lay basic ground work for standalone mbe tests
2024-09-01 12:42:44 +02:00
Aleksey Kladov
634f047d90
internal: add integrated test for token censoring
2021-10-10 16:52:21 +03:00
Aleksey Kladov
bfc5d8529a
drop obsolete tests
2021-10-10 15:11:33 +03:00
Aleksey Kladov
dce41e5a03
move tests
2021-10-10 14:58:25 +03:00
Aleksey Kladov
c6d5c1c946
dead code
2021-10-10 11:09:16 +03:00
Aleksey Kladov
ef1251f696
feat: report errors in macro definition
...
Reporting macro *definition* error at the macro *call site* is a rather
questionable approach, but at least we don't erase the errors
altogether!
2021-10-09 15:23:55 +03:00
Lukas Wirth
b6ed91a6de
Rename *Owner
traits to Has*
2021-09-27 12:54:24 +02:00
Lukas Wirth
a6dde501df
Only strip derive attributes when preparing macro input
2021-09-19 23:38:38 +02:00
Aleksey Kladov
104cd0ce88
internal: make name consistent with usage
2021-09-06 18:34:03 +03:00
Aleksey Kladov
dbb702cfc1
internal: remove accidental code re-use
...
FragmentKind played two roles:
* entry point to the parser
* syntactic category of a macro call
These are different use-cases, and warrant different types. For example,
macro can't expand to visibility, but we have such fragment today.
This PR introduces `ExpandsTo` enum to separate this two use-cases.
I suspect we might further split `FragmentKind` into `$x:specifier` enum
specific to MBE, and a general parser entry point, but that's for
another PR!
2021-09-05 22:36:36 +03:00
Lukas Wirth
36a5ce9790
minor: fix some clippy lints
2021-09-03 16:00:50 +02:00
Lukas Wirth
1195cb50c2
Add simple test for syntax_node_to_token_tree_censored
2021-08-25 19:57:18 +02:00
Aleksey Kladov
9aa6be71a5
internal: remove useless helpers
...
We generally avoid "syntax only" helper wrappers, which don't do much:
they make code easier to write, but harder to read. They also make
investigations harder, as "find_usages" needs to be invoked both for the
wrapped and unwrapped APIs
2021-08-09 15:58:21 +03:00
Jonas Schievink
3abcdc03ba
Make ast_to_token_tree
infallible
...
It could never return `None`, so reflect that in the return type
2021-04-04 01:46:45 +02:00
Edwin Cheng
49b876de09
Reorganize mbe tests
2021-03-18 17:22:52 +08:00
Matthias Krüger
966c23f529
avoid converting types into themselves via .into() (clippy::useless-conversion)
...
example: let x: String = String::from("hello world").into();
2021-03-17 01:27:56 +01:00
Edwin Cheng
8e07b23b84
Fix macro expansion for statements w/o semicolon
2021-03-16 13:44:50 +08:00
Laurențiu Nicola
fc9eed4836
Use upstream cov-mark
2021-03-08 22:19:44 +02:00
Edwin Cheng
20eda09712
Fix fail to parse :: for meta in mbe
2021-03-06 04:57:34 +08:00
Edwin Cheng
cff2201c30
NFA parser for mbe matcher
2021-03-01 00:11:14 +08:00
Edwin Cheng
bf8bc5c882
Fix non-latin characters doc comment for mbe
2021-02-28 13:49:08 +08:00
Edwin Cheng
706ac8256d
Simplify mbe match error.
...
Handle parse error in rule parsing instead of match in mbe
2021-01-30 00:21:43 +08:00
Edwin Cheng
ce4eeec1bf
Support Macro v2 in mbe
2021-01-26 05:15:47 +08:00
yugo-horie
f273995a25
Swap assert_eq_text\!(expected, actual)
2021-01-16 13:30:26 +09:00
bors[bot]
d76143da19
Merge #7211
...
7211: Fixed expr meta var after path colons in mbe r=matklad a=edwin0cheng
Fixes #7207
Added `L_DOLLAR` in `ITEM_RECOVERY_SET` , but I don't know whether it is a good idea.
r? @matklad
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2021-01-14 10:52:12 +00:00
Edwin Cheng
8d62576a9b
Fixed expr meta var after path colons in mbe
2021-01-10 20:52:46 +08:00
Vincent Esche
4702c01553
Fixed typos in tests
2021-01-09 15:41:29 +01:00
Edwin Cheng
bced02c5dc
Add test
2021-01-08 14:00:23 +08:00
bors[bot]
77ad203a71
Merge #7060
...
7060: Fix mbe fail to pass expr with attr r=edwin0cheng a=edwin0cheng
bors r+
Fixes #5896
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2020-12-28 12:34:19 +00:00
Edwin Cheng
710407b11d
Fix mbe fail to pass expr with attr
2020-12-28 19:53:00 +08:00
Edwin Cheng
b5c29af02a
Special case underscore in mbe meta op
2020-12-28 18:51:43 +08:00
Edwin Cheng
26e1f7696a
Ignore third punct in 2-composite punct
2020-12-27 23:51:00 +08:00
Edwin Cheng
f942d10e80
Use pattern_single instead of pattern in mbe pat
2020-12-20 17:13:40 +08:00
Laurențiu Nicola
75a26f64ff
mbe: treat _ as ident
2020-12-20 08:06:17 +02:00
Jonas Schievink
c1cb595382
Move to upstream macro_rules!
model
2020-12-15 15:37:37 +01:00
Edwin Cheng
175229ab3d
negative sign matching in mbe matching for literal
2020-12-11 17:59:04 +08:00
Aleksey Kladov
2f45cfc415
Rename ra_mbe -> mbe
2020-08-13 10:36:04 +02:00