use bevy_121::AsymmetricOneToOne;
use bevy_ecs::prelude::*;
fn main() {
let mut world = World::new();
let alice = world.spawn(()).id();
let cart = world.spawn(()).id();
let bsn = world.spawn(Assignee(alice)).id();
world.entity_mut(cart).insert(Assignment(bsn));
assert_eq!(world.entity(bsn).get::<Assignee>().unwrap().0, cart);
world.despawn(bsn);
assert!(world.entity(cart).get::<Assignment>().is_none());
}
#[derive(AsymmetricOneToOne)]
#[target(Assignee)]
struct Assignment(Entity);
#[derive(AsymmetricOneToOne)]
#[target(Assignment)]
struct Assignee(Entity);