Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
def_mod!
provides a familiar syntax to the standard module declarations, but with the added benefit
of simpler implementation routing and statically verified module exports.
extern crate def_mod;
use def_mod;
def_mod!
NOTE: that def_mod
uses syntax tricks to assert for types.
So that means when you use the path shorthand, it will still only check the module that is loaded, not all potential modules.
One good example is when you have two different modules for specific platforms.
The module that would be compiled normally is the only one that would be checked.
You would need to explicitly enable compilation of the modules if you want them to be checked too.
Because you can declare arbitrary #[cfg] attributes, there's no generic way for def_mod
to know how to do this.
It's entirely up to you.
In case you're curious as to what the macro generates:
A method assertion is transformed to something like:
;
// into
const _VALUE: fn = method;
A method assertion with generics is a bit more complex:
;
// will turn into into (Note: This is nested inside of the load function itself.)
A type assertion is transformed into a new scope with a use declaration:
def_mod!
// Into
All of those are shoved into a function generated by the macro.
For example, given something like:
def_mod!
It'll turn it into something like this: