use component_model ::Assign;
#[ derive( Default, Debug, PartialEq, Assign ) ]
struct Person
{
age: i32,
name: String,
}
fn main()
{
println!( "=== Basic Component Assignment ===" );
let mut person = Person ::default();
println!( "Initial person: {person:?}" );
person.assign( 25 ); person.assign( "Alice" );
println!( "After assignment: {person:?}" );
assert_eq!( person, Person { age: 25, name: "Alice".to_string() } );
person.assign( 30 );
person.assign( "Bob".to_string() );
println!( "After updates: {person:?}" );
assert_eq!( person, Person { age: 30, name: "Bob".to_string() } );
println!( "✅ Basic assignment complete!" );
}