pub unsafe fn module_mut<'a, T: Module>() -> Option<&'a mut T> {
		let engine = Engine::as_mut();

		let id = TypeId::of::<T>();
		let module = engine.modules.get_mut(&id)?;
		module.downcast_mut::<T>()
	}
/// Returns a mutable reference to a `Module`
///
/// # Safety
///
/// Modules can be accessed on any thread. This does not provide a locking mechanism.
Returns a mutable reference to a `Module`
Returns a mutable reference to a ` Module `
pub unsafe fn module_mut<'a, T: Module>() -> Option<&'a mut T> {
		let engine = Engine::as_mut();
		let id = TypeId::of::<T>();
		let module = engine.modules.get_mut(&id)?;
		module.downcast_mut::<T>()
	}
pub unsafe fn module_mut < ' a , T : Module > ( ) -> Option < & ' a mut T > { let engine = Engine :: as_mut ( ) ; let id = TypeId :: of :: < T > ( ) ; let module = engine . modules . get_mut ( & id ) ? ; module . downcast_mut :: < T > ( ) }
Returns a mutable reference to a `Module`
Returns a mutable reference to a ` Module `
safety
Modules can be accessed on any thread. This does not provide a locking mechanism.
Modules can be accessed on any thread . This does not provide a locking mechanism .