chore: checkpoint before Python removal

This commit is contained in:
2026-03-26 22:33:59 +00:00
parent 683cec9307
commit e568ddf82a
29972 changed files with 11269302 additions and 2 deletions

68
vendor/valuable/examples/hello_world.rs vendored Normal file
View File

@@ -0,0 +1,68 @@
use valuable::*;
struct HelloWorld {
hello: &'static str,
world: World,
}
struct World {
answer: usize,
}
static HELLO_WORLD_FIELDS: &[NamedField<'static>] =
&[NamedField::new("hello"), NamedField::new("world")];
impl Structable for HelloWorld {
fn definition(&self) -> StructDef<'_> {
StructDef::new_static("HelloWorld", Fields::Named(HELLO_WORLD_FIELDS))
}
}
impl Valuable for HelloWorld {
fn as_value(&self) -> Value<'_> {
Value::Structable(self)
}
fn visit(&self, v: &mut dyn Visit) {
v.visit_named_fields(&NamedValues::new(
HELLO_WORLD_FIELDS,
&[Value::String(self.hello), Value::Structable(&self.world)],
));
}
}
static WORLD_FIELDS: &[NamedField<'static>] = &[NamedField::new("answer")];
impl Valuable for World {
fn as_value(&self) -> Value<'_> {
Value::Structable(self)
}
fn visit(&self, v: &mut dyn Visit) {
v.visit_named_fields(&NamedValues::new(
WORLD_FIELDS,
&[Value::Usize(self.answer)],
));
}
}
impl Structable for World {
fn definition(&self) -> StructDef<'_> {
StructDef::new_static("World", Fields::Named(WORLD_FIELDS))
}
}
fn main() {
let hello_world = HelloWorld {
hello: "wut",
world: World { answer: 42 },
};
let value = Value::Structable(&hello_world);
println!("{:#?}", value);
let slice = &[1, 2, 3][..];
let value = &slice as &dyn Valuable;
println!("{:?}", value);
}