Skip to main content

runmat_execution_artifact/program/
identity.rs

1use std::fmt::{Display, Formatter};
2
3use runmat_execution::Digest;
4use serde::{Deserialize, Serialize};
5
6#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize, Deserialize)]
7#[serde(transparent)]
8pub struct ProgramRecipeId(pub Digest);
9
10impl Display for ProgramRecipeId {
11    fn fmt(&self, formatter: &mut Formatter<'_>) -> std::fmt::Result {
12        write!(formatter, "recipe:{}", self.0)
13    }
14}
15
16#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize, Deserialize)]
17#[serde(transparent)]
18pub struct ProgramArtifactId(pub Digest);
19
20impl Display for ProgramArtifactId {
21    fn fmt(&self, formatter: &mut Formatter<'_>) -> std::fmt::Result {
22        write!(formatter, "program:{}", self.0)
23    }
24}