aboutsummaryrefslogtreecommitdiff
path: root/rossweisse/src/implementations/router/parser
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-05-04 07:59:50 +0000
committerFuwn <[email protected]>2023-05-04 07:59:50 +0000
commitb92b2f3da3c75c08d310741aa86908667ce95088 (patch)
treef9676cfad7e2346355dde3917f8d6a9a7870cd25 /rossweisse/src/implementations/router/parser
parentdeps(rossweisse): pin to 0.0.0 (diff)
downloadwindmark-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.rs8
-rw-r--r--rossweisse/src/implementations/router/parser/field_initializers.rs8
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()))
}
}