aboutsummaryrefslogtreecommitdiff
path: root/rossweisse/src/implementations/router/parser/field_initializers.rs
blob: 81d171a96b727cc4d8a5ec3d0a8c4885ac08459a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
use syn::parse::{self, Parse};

use super::field_initializer::FieldInitializer;

pub struct FieldInitializers<T: Parse>(pub Vec<FieldInitializer<T>>);

impl<T: Parse> Parse for FieldInitializers<T> {
  fn parse(input: parse::ParseStream<'_>) -> syn::Result<Self> {
    Ok(Self(syn::punctuated::Punctuated::<FieldInitializer<T>, syn::Token![,]>::parse_terminated(input)?.into_iter().collect()))
  }
}