1//! A phase rewrites the AST.
23use crate::ast::Item;
45/// Placeholder trait for phases.
6pub trait Phase {
7/// Apply the phase on items.
8 /// A phase may transform an item into zero, one or more items.
9fn apply(&self, items: &mut Vec<Item>);
10}