Skip to main content


An open-source programming language supported by the Rust Foundation.

concerto compile --model test.cto --target rust

Sample Output

use serde::{ Deserialize, Serialize };
use chrono::{ DateTime, TimeZone, Utc };

use crate::concerto_1_0_0::*;
use crate::utils::*;

#[derive(Debug, Serialize, Deserialize)]
pub struct Person {
rename = "$class",
pub _class: String,

rename = "email",
pub email: String,

rename = "dob",
skip_serializing_if = "Option::is_none",
serialize_with = "serialize_datetime_option",
deserialize_with = "deserialize_datetime_option",
pub dob: Option<DateTime<Utc>>,




  1. Concerto references (e.g. --> Organization shipper) will need to be manually resolved in Rust, if the underlying struct needs to fully evaulated.
  2. Rust code generation doesn't support length validation on String fields.