use std::vec::IntoIter; use peekmore::{PeekMore, PeekMoreIterator}; use crate::args::FuncArgs; use crate::scope::Scope; use crate::Token; #[derive(Debug, Clone)] pub(crate) struct Mixin { pub scope: Scope, pub args: FuncArgs, pub body: PeekMoreIterator>, pub accepts_content_block: bool, } impl Mixin { pub fn new( scope: Scope, args: FuncArgs, body: Vec, accepts_content_block: bool, ) -> Self { let body = body.into_iter().peekmore(); Mixin { scope, args, body, accepts_content_block, } } }