#[allow(dead_code)]
mod song {
use recorder::record;
#[record] pub struct Song {
name: String,
artist: Artist,
#[record(skip)] pub(crate) similar: Vec<Self>,
}
impl Song {
pub fn new<S: Into<String>>(name: S, artist: S) -> Self {
Self {
name: name.into(),
artist: Artist(artist.into()),
similar: vec![],
}
}
}
pub fn get_similar(song: Song) -> Vec<Song> {
song.similar
}
#[record]
pub struct Artist(String);
}
fn main() {
let song = song::Song::new("Lagtrain", "inabakumori");
println!("Song name: {}", song.name);
println!("Artist: {}", song.artist.0);
println!("Similar: {:?}", song::get_similar(song));
}