1use super::*;
2
3#[derive(PartialEq, Debug, Serialize)]
4pub struct Dependency<'src> {
5 pub arguments: Vec<Expression<'src>>,
6 #[serde(serialize_with = "keyed::serialize")]
7 pub recipe: Rc<Recipe<'src>>,
8}
9
10impl<'src> Display for Dependency<'src> {
11 fn fmt(&self, f: &mut Formatter) -> fmt::Result {
12 if self.arguments.is_empty() {
13 write!(f, "{}", self.recipe.name())
14 } else {
15 write!(f, "({}", self.recipe.name())?;
16
17 for argument in &self.arguments {
18 write!(f, " {argument}")?;
19 }
20
21 write!(f, ")")
22 }
23 }
24}