changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > demo / obj/src/types.rs

changeset 3: 8f59e2f1b8c4
child: 315fedf35bc7
author: ellis <ellis@rwest.io>
date: Fri, 05 May 2023 22:41:30 -0400
permissions: -rw-r--r--
description: stuff
1 //! obj/src/types.rs --- OBJ type descriptions used by our demo
2 use crate::{Error, Result, Objective, Serialize, Deserialize};
3 /// APPLICATION TYPES
4 #[derive(Serialize, Deserialize)]
5 pub enum Service {
6  Nws,
7  Fin,
8  Pvp,
9 }
10 
11 impl Objective for Service {}
12 
13 #[derive(Serialize, Deserialize)]
14 pub struct Complex<X: Objective> {
15  data: X,
16  state: Vec<u8>,
17 }
18 
19 impl Objective for Complex<Service> {}
20 
21 pub fn generate_complex() -> Result<Complex<Service>> {
22  Ok(Complex::<Service>::from_json_str("hi")?)
23 }