Files
harmony/docs/adr/003-abstractions/topology2/src/main_v1.rs
Jean-Gabriel Gill-Couture 64582caa64
Some checks failed
Run Check Script / check (pull_request) Failing after 10s
docs: Major rehaul of documentation
2026-03-19 22:38:55 -04:00

35 lines
606 B
Rust

fn main() {}
trait Topology {}
struct DummyTopology {}
impl Topology for DummyTopology {}
impl Topology for LampTopology {}
struct LampTopology {}
struct Maestro {
topology: Box<dyn Topology>,
}
trait Score {
type Topology: Topology;
fn execute(&self, topology: &Self::Topology);
}
struct K8sScore {}
impl Score for K8sScore {
type Topology = LampTopology;
fn execute(&self, topology: &Box<dyn Self::Topology>) {
todo!()
}
}
impl Maestro {
pub fn execute<T: Topology>(&self, score: Box<dyn Score<Topology = T>>) {
score.execute(&self.topology);
}
}