Fixes and improvements in macros

This commit is contained in:
Andrew Golovashevich 2025-11-19 18:07:52 +03:00
parent 2918a0e29b
commit cac9602470
3 changed files with 21 additions and 18 deletions

View File

@ -3,7 +3,8 @@ macro_rules! builder_trait_decl {
(
$scope:vis trait $name:ident
$(<
$generic0Name:ident $(: $generic0Bound:path)? $(, $genericNName:ident $(: $genericNBound:path)?)*
$generic0Name:ident $(: $generic0Bound:path)?
$(, $genericNName:ident $(: $genericNBound:path)?)* $(,)?
>)?
$(: $base0:path $(, $baseN:path)*)?
{ $($body:tt)* }
@ -13,7 +14,7 @@ macro_rules! builder_trait_decl {
'source, 'pos, P:Pos<'pos>, CS:CollectedSubstring<'source>
$(, $generic0Name $(: $generic0Bound)? $(, $genericNName $(: $genericNBound)?)* )?
>
$(: $base0 $(, $baseN)*)?
$(: $base0 $(+ $baseN)*)?
{ $($body)* }
};
@ -21,7 +22,7 @@ macro_rules! builder_trait_decl {
$scope:vis trait $name:ident
<
$lifetime0Name:lifetime $(, $lifetimeNName:lifetime)*
$(, $genericNName:ident $(: $genericNBound:path)?)*
$(, $genericNName:ident $(: $genericNBound:path)?)* $(,)?
>
$(: $base0:path $(, $baseN:path)*)?
{ $($body:tt)* }
@ -32,7 +33,7 @@ macro_rules! builder_trait_decl {
P: Pos<'pos>, CS: CollectedSubstring<'source>
$(, $genericNName $(: $genericNBound)?)*
>
$(: $base0 $(, $baseN)*)?
$(: $base0 $(+ $baseN)*)?
{ $($body)* }
};
}

View File

@ -3,7 +3,7 @@ macro_rules! builder_type_t {
(
$name:ident
$(<
$generic0Name:ty $(, $genericNName:ty)*
$generic0Name:ty $(, $genericNName:ty)* $(,)?
>)?
) => {
@ -18,7 +18,7 @@ macro_rules! builder_type_t {
$name:ident
<
$lifetime0Name:lifetime $(, $lifetimeNName:lifetime)*
$(, $genericNName:ty)*
$(, $genericNName:ty)* $(,)?
>
) => {
$name
@ -31,7 +31,7 @@ macro_rules! builder_type_t {
(
impl $name:ident
$(<
$generic0Name:ty $(, $genericNName:ty)*
$generic0Name:ty $(, $genericNName:ty)* $(,)?
>)?
) => {
@ -46,7 +46,7 @@ macro_rules! builder_type_t {
impl $name:ident
<
$lifetime0Name:lifetime $(, $lifetimeNName:lifetime)*
$(, $genericNName:ty)*
$(, $genericNName:ty)* $(,)?
>
) => {
impl $name

View File

@ -4,9 +4,10 @@ macro_rules! parser_fn_decl {
(
$scope:vis fn $name:ident
$(<
$generic0Name:ident $(: $generic0Bound:path)? $(, $genericNName:ident $(: $genericNBound:path)?)*
$generic0Name:ident $(: $generic0Bound:path)?
$(, $genericNName:ident $(: $genericNBound:path)?)* $(,)?
>)?
($srcName:ident : $srcType:ty $(, $argNName:ident : $argNType:ty)*)
($srcName:ident : $srcType:ty $(, $argNName:ident : $argNType:ty)* $(,)?)
$(-> $ret:ty)?
$body:block
) => {
@ -25,9 +26,9 @@ macro_rules! parser_fn_decl {
$scope:vis fn $name:ident
<
$lifetime0Name:lifetime $(, $lifetimeNName:lifetime)*
$(, $genericNName:ident $(: $genericNBound:path)?)*
$(, $genericNName:ident $(: $genericNBound:path)?)* $(,)?
>
($srcName:ident : $srcType:ty $(, $argNName:ident : $argNType:ty)*)
($srcName:ident : $srcType:ty $(, $argNName:ident : $argNType:ty)* $(,)?)
$(-> $ret:ty)?
$body:block
) => {
@ -46,9 +47,10 @@ macro_rules! parser_fn_decl {
(
$scope:vis fn $name:ident
$(<
$generic0Name:ident $(: $generic0Bound:path)? $(, $genericNName:ident $(: $genericNBound:path)?)*
$generic0Name:ident $(: $generic0Bound:path)?
$(, $genericNName:ident $(: $genericNBound:path)?)* $(,)?
>)?
($srcName:ident $(, $argNName:ident : $argNType:ty)*)
($srcName:ident $(, $argNName:ident : $argNType:ty)* $(,)?)
$(-> $ret:ty)?
$body:block
) => {
@ -67,9 +69,9 @@ macro_rules! parser_fn_decl {
$scope:vis fn $name:ident
<
$lifetime0Name:lifetime $(, $lifetimeNName:lifetime)*
$(, $genericNName:ident $(: $genericNBound:path)?)*
$(, $genericNName:ident $(: $genericNBound:path)?)* $(,)?
>
($srcName:ident $(, $argNName:ident : $argNType:ty)*)
($srcName:ident $(, $argNName:ident : $argNType:ty)* $(,)?)
$(-> $ret:ty)?
$body:block
) => {