Currently the only way to expose types is through the com_library!(..) macro. Having com_module!(..) would make many things better:
Ability to distribute export definitions across modules.
Ability to export things from crates that are used as dependencies in other crates.
Maaaaybe ability to integrate with com-rs.
What does this mean?
com_module!() defines module-local versions of the various functions com_library!() defines on the crate level. This includes at least bits for the class factories and type info.
com_library!() requires implementation that allows specifying sub-modules so the macro knows to delegate to these modules when resolving class factories/type info/etc.
Support for com-rs would require similar support there.
Currently the only way to expose types is through the
com_library!(..)
macro. Havingcom_module!(..)
would make many things better:com-rs
.What does this mean?
com_module!()
defines module-local versions of the various functionscom_library!()
defines on the crate level. This includes at least bits for the class factories and type info.com_library!()
requires implementation that allows specifying sub-modules so the macro knows to delegate to these modules when resolving class factories/type info/etc.Support for
com-rs
would require similar support there.