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

View File

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

View File

@ -4,9 +4,10 @@ macro_rules! parser_fn_decl {
( (
$scope:vis fn $name:ident $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)? $(-> $ret:ty)?
$body:block $body:block
) => { ) => {
@ -25,9 +26,9 @@ macro_rules! parser_fn_decl {
$scope:vis fn $name:ident $scope:vis fn $name:ident
< <
$lifetime0Name:lifetime $(, $lifetimeNName:lifetime)* $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)? $(-> $ret:ty)?
$body:block $body:block
) => { ) => {
@ -46,9 +47,10 @@ macro_rules! parser_fn_decl {
( (
$scope:vis fn $name:ident $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)? $(-> $ret:ty)?
$body:block $body:block
) => { ) => {
@ -67,9 +69,9 @@ macro_rules! parser_fn_decl {
$scope:vis fn $name:ident $scope:vis fn $name:ident
< <
$lifetime0Name:lifetime $(, $lifetimeNName:lifetime)* $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)? $(-> $ret:ty)?
$body:block $body:block
) => { ) => {