Skip to main content

typhoon_syn/constraints/
bump.rs

1use {
2    crate::utils::ContextExpr,
3    syn::{
4        parse::{Parse, ParseStream},
5        Token,
6    },
7};
8
9#[derive(Clone)]
10pub struct ConstraintBump(pub Option<ContextExpr>);
11
12impl Parse for ConstraintBump {
13    fn parse(input: ParseStream) -> syn::Result<Self> {
14        if input.peek(Token![=]) {
15            input.parse::<Token![=]>()?;
16            let bump = input.parse()?;
17
18            Ok(ConstraintBump(Some(bump)))
19        } else {
20            Ok(ConstraintBump(None))
21        }
22    }
23}