diff options
| author | Fuwn <[email protected]> | 2023-05-04 07:59:50 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-05-04 07:59:50 +0000 |
| commit | b92b2f3da3c75c08d310741aa86908667ce95088 (patch) | |
| tree | f9676cfad7e2346355dde3917f8d6a9a7870cd25 /rossweisse/src/implementations/router/parser | |
| parent | deps(rossweisse): pin to 0.0.0 (diff) | |
| download | windmark-b92b2f3da3c75c08d310741aa86908667ce95088.tar.xz windmark-b92b2f3da3c75c08d310741aa86908667ce95088.zip | |
feat(methods): special index handling
Diffstat (limited to 'rossweisse/src/implementations/router/parser')
| -rw-r--r-- | rossweisse/src/implementations/router/parser/field_initializer.rs | 8 | ||||
| -rw-r--r-- | rossweisse/src/implementations/router/parser/field_initializers.rs | 8 |
2 files changed, 8 insertions, 8 deletions
diff --git a/rossweisse/src/implementations/router/parser/field_initializer.rs b/rossweisse/src/implementations/router/parser/field_initializer.rs index 212f88a..ce0ff9d 100644 --- a/rossweisse/src/implementations/router/parser/field_initializer.rs +++ b/rossweisse/src/implementations/router/parser/field_initializer.rs @@ -15,16 +15,16 @@ // Copyright (C) 2022-2023 Fuwn <[email protected]> // SPDX-License-Identifier: GPL-3.0-only -use syn::parse; +use syn::parse::{self, Parse}; -pub struct FieldInitializer { +pub struct FieldInitializer<T: Parse> { pub ident: syn::Ident, #[allow(unused)] eq_token: syn::Token![=], - pub expr: syn::Expr, + pub expr: T, } -impl parse::Parse for FieldInitializer { +impl<T: Parse> parse::Parse for FieldInitializer<T> { fn parse(input: parse::ParseStream<'_>) -> syn::Result<Self> { let ident = input.parse()?; let eq_token = input.parse()?; diff --git a/rossweisse/src/implementations/router/parser/field_initializers.rs b/rossweisse/src/implementations/router/parser/field_initializers.rs index 649b0d7..e0eb4b9 100644 --- a/rossweisse/src/implementations/router/parser/field_initializers.rs +++ b/rossweisse/src/implementations/router/parser/field_initializers.rs @@ -15,14 +15,14 @@ // Copyright (C) 2022-2023 Fuwn <[email protected]> // SPDX-License-Identifier: GPL-3.0-only -use syn::parse; +use syn::parse::{self, Parse}; use super::field_initializer::FieldInitializer; -pub struct FieldInitializers(pub Vec<FieldInitializer>); +pub struct FieldInitializers<T: Parse>(pub Vec<FieldInitializer<T>>); -impl parse::Parse for FieldInitializers { +impl<T: Parse> parse::Parse for FieldInitializers<T> { fn parse(input: parse::ParseStream<'_>) -> syn::Result<Self> { - Ok(Self(syn::punctuated::Punctuated::<FieldInitializer, syn::Token![,]>::parse_terminated(input)?.into_iter().collect())) + Ok(Self(syn::punctuated::Punctuated::<FieldInitializer<T>, syn::Token![,]>::parse_terminated(input)?.into_iter().collect())) } } |