builder_type_t

This commit is contained in:
Andrew Golovashevich 2025-11-15 22:00:33 +03:00
parent 5604434de5
commit 1f54311854
2 changed files with 59 additions and 0 deletions

58
src/builder_type_t.rs Normal file
View File

@ -0,0 +1,58 @@
#[macro_export]
macro_rules! builder_type_t {
(
$name:ident
$(<
$generic0Name:ty $(, $genericNName:ty)*
>)?
) => {
$name
<
'source, 'pos, 'builder, C, P, CS
$(, $generic0Name $(, $genericNName)*)?
>
};
(
$name:ident
<
$lifetime0Name:lifetime $(, $lifetimeNName:lifetime)*
$(, $genericNName:ty)*
>
) => {
$name
<
'source, 'pos, 'builder, $lifetime0Name $(, $lifetimeNName)*,
C, P, CS $(, $genericNName)*
>
};
(
impl $name:ident
$(<
$generic0Name:ty $(, $genericNName:ty)*
>)?
) => {
impl $name
<
'source, 'pos, 'builder, C, P, CS
$(, $generic0Name $(, $genericNName)*)?
>
};
(
impl $name:ident
<
$lifetime0Name:lifetime $(, $lifetimeNName:lifetime)*
$(, $genericNName:ty)*
>
) => {
impl $name
<
'source, 'pos, 'builder, $lifetime0Name $(, $lifetimeNName)*,
C, P, CS $(, $genericNName)*
>
};
}

View File

@ -1,5 +1,6 @@
mod _keyword_impls; mod _keyword_impls;
mod parser_func; mod parser_func;
mod builder_type_t;
pub trait Predicate<C> { pub trait Predicate<C> {
fn check(&mut self, chr: C) -> bool; fn check(&mut self, chr: C) -> bool;