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}