dsl: use only Dsl trait

This commit is contained in:
🪞👃🪞 2025-05-19 00:06:03 +03:00
parent 3bc739328e
commit 90f5699fff
11 changed files with 430 additions and 406 deletions

View file

@ -85,15 +85,15 @@ impl ToTokens for ExposeImpl {
let values = variants.iter().map(ExposeArm::from);
write_quote_to(out, quote! {
/// Generated by [tengri_proc].
impl<'state> ::tengri::dsl::Context<'state, #t> for #target {
fn get <'source> (
&self, iter: &mut ::tengri::dsl::TokenIter<'source>
) -> Option<#t> {
Some(match iter.next().map(|x|x.value) {
impl ::tengri::dsl::Dsl<#t> for #target {
fn take <'state, 'source> (
&'state self, iter: &mut ::tengri::dsl::TokenIter<'source>
) -> Perhaps<#t> {
Ok(Some(match iter.next().map(|x|x.value) {
#predefined
#(#values,)*
_ => return None
})
_ => return Ok(None)
}))
}
}
});