builder_trait_decl
This commit is contained in:
parent
4bb7d6f005
commit
87bf378b69
37
src/macros/builder_trait_decl.rs
Normal file
37
src/macros/builder_trait_decl.rs
Normal file
@ -0,0 +1,37 @@
|
||||
#[macro_export]
|
||||
macro_rules! builder_trait_decl {
|
||||
(
|
||||
$name:ident
|
||||
$(<
|
||||
$generic0Name:ident : $generic0Bound:path $(, $genericNName:ident : $genericNBound:path)*
|
||||
>)?
|
||||
$(: $base0:path $(, $baseN:path)*)?
|
||||
{ $($body:tt)* }
|
||||
) => {
|
||||
trait $name
|
||||
<
|
||||
'source, 'pos, 'builder, C, P:Pos<'pos>, CS:CollectedSubstring<'source, C>
|
||||
$(, $generic0Name : $generic0Bound $(, $genericNName : $genericNBound)* )?
|
||||
>
|
||||
$(: $base0 $(, $baseN)*)?
|
||||
{ $($body)* }
|
||||
};
|
||||
(
|
||||
$name:ident
|
||||
<
|
||||
$lifetime0Name:lifetime $(, $lifetimeNName:lifetime)*
|
||||
$(, $genericNName:ident : $genericNBound:path)*
|
||||
>
|
||||
$(: $base0:path $(, $baseN:path)*)?
|
||||
{ $($body:tt)* }
|
||||
) => {
|
||||
fn $name
|
||||
<
|
||||
'source, 'pos, 'builder, $lifetime0Name $(, $lifetimeNName)*,
|
||||
C, P: Pos<'pos>, CS: CollectedSubstring<'source, C>
|
||||
$(, $genericNName : $genericNBound)*
|
||||
>
|
||||
$(: $base0 $(, $baseN)*)?
|
||||
{ $($body)* }
|
||||
};
|
||||
}
|
||||
@ -1,2 +1,3 @@
|
||||
mod builder_type_t;
|
||||
mod parser_func;
|
||||
mod builder_trait_decl;
|
||||
Loading…
Reference in New Issue
Block a user