pub fn register<C: Component>(&mut self) {
        self.assert_not_already_registered::<C>();

        let type_id = TypeId::of::<C>();
        let ids = Rc::clone(&self.counter);
        let container = Container::<C>::new(ids);

        let boxed_container = Box::new(RefCell::new(container));
        self.items.insert(type_id, boxed_container as Box<Any>);
        self.vtables
            .insert(type_id, ContainerVtable::for_component_container::<C>());
    }
/// Registers a [`Component`] type so we can set up containers and stash
/// away some useful metadata.
///
/// There is no way to "unregister" a component after it has been
/// registered.
Registers a [`Component`] type so we can set up containers and stash
away some useful metadata.

There is no way to "unregister" a component after it has been
registered.
Registers a [ ` Component ` ] type so we can set up containers and stash away some useful metadata . There is no way to " unregister " a component after it has been registered .
pub fn register<C: Component>(&mut self) {
        self.assert_not_already_registered::<C>();
        let type_id = TypeId::of::<C>();
        let ids = Rc::clone(&self.counter);
        let container = Container::<C>::new(ids);
        let boxed_container = Box::new(RefCell::new(container));
        self.items.insert(type_id, boxed_container as Box<Any>);
        self.vtables
            .insert(type_id, ContainerVtable::for_component_container::<C>());
    }
pub fn register < C : Component > ( & mut self ) { self . assert_not_already_registered :: < C > ( ) ; let type_id = TypeId :: of :: < C > ( ) ; let ids = Rc :: clone ( & self . counter ) ; let container = Container :: < C > :: new ( ids ) ; let boxed_container = Box :: new ( RefCell :: new ( container ) ) ; self . items . insert ( type_id , boxed_container as Box < Any > ) ; self . vtables . insert ( type_id , ContainerVtable :: for_component_container :: < C > ( ) ) ; }
Registers a [`Component`] type so we can set up containers and stash
away some useful metadata.
Registers a [ ` Component ` ] type so we can set up containers and stash away some useful metadata .
&mut self