//! Syntax edge: per-layer optional marks.
use crate::{Ast, Cfg};
/// A link between two syntax nodes, marked by which layer(s) it belongs to.
#[derive(Clone, Copy, PartialEq, Eq, Debug, Default)]
#[non_exhaustive]
pub struct SyntaxEdge {
/// Present when this edge carries an AST (parent/child) link.
pub ast: Option<Ast>,
/// Present when this edge carries a CFG (control-flow) link.
pub cfg: Option<Cfg>,
}