use crate as starlark;
use crate::values::{Freeze, Freezer, FrozenHeap};
#[derive(Freeze)]
struct TestStruct {
s: String,
#[freeze(identity)]
s2: String,
}
#[derive(Freeze)]
struct TestAnonStruct(String, #[freeze(identity)] String);
#[test]
fn test_struct() -> anyhow::Result<()> {
let t = TestStruct {
s: "test".to_owned(),
s2: "test2".to_owned(),
};
let freezer = Freezer::new(FrozenHeap::new());
t.freeze(&freezer)?;
Ok(())
}
#[test]
fn test_anon_struct() -> anyhow::Result<()> {
let t = TestAnonStruct("test".to_owned(), "test2".to_owned());
let freezer = Freezer::new(FrozenHeap::new());
t.freeze(&freezer)?;
Ok(())
}