pub enum Gap {
Erased {
at: String,
bound: String,
},
CustomSerializer {
at: String,
with: String,
},
UnmappedForeign {
at: String,
path: String,
},
UnknownRenameRule {
at: String,
rule: String,
},
StrippedFields {
at: String,
},
TransparentWithoutArgument {
at: String,
path: String,
arg: usize,
},
ComplexFieldArgument {
at: String,
argument: String,
},
}Expand description
A place the extractor could not derive a shape, and why.
Every gap names the exact type or field so the report is actionable, and carries an open schema rather than a guessed one.
Variants§
Erased
impl Trait / dyn Trait in return position: only the bound survives.
Fields
CustomSerializer
#[serde(with = "...")] — wire shape defined by code, not by type.
UnmappedForeign
A type outside this crate’s rustdoc index with no table mapping.
UnknownRenameRule
A rename rule this extractor does not implement, from rename_all
(serde) or rename_fields/rename_items (async-graphql). Emitting
names under an unknown rule would rename every one of them wrongly.
StrippedFields
Rustdoc omits private fields, but serde still serializes them, so the field list is known to be incomplete.
TransparentWithoutArgument
A type mapped transparent in [spec.types], used without the type
argument that was supposed to carry its wire shape.
Fields
ComplexFieldArgument
A #[graphql(skip)]ed field’s matching #[ComplexObject] resolver
takes a required argument this schema has no default for, so the
field’s shape could not be recovered.