Crate default_constructor
source ·Expand description
§default-constructor
Macros for creating pseudo-dsls that constructs structs through default construction and field conversion.
§Motivation
This crates is primary designed for bevy where constructing large bundles
with ..Default::default() is common.
§Syntax
Take construct! that uses Into.
construct! {
Student {
name: "Timmy",
age: 10,
}
}This converts to
Student {
name: Into::into("Timmy"),
age: Into::into(10.into()),
..Default::default()
}§Meta Constructor
The meta constructor macro allows you to define your own macro with
custom configurations.
See documentation on meta_default_constructor! for detail.
§InferInto
InferInto allows the user to bypass the orphan rule to create conversions.
By default we provide i32 -> f32 and i64 -> f64 conversions
in addition to the standard From and Into.
If multiple conversion paths are found, the conversion will fail,
thus failing the infer_construct macro.
§Missing Features
[ ] Allow paths as type name. [ ] Tuple structs support.
§Possible Features
[ ] Generics parsing.
Macros§
Traits§
Intowith relaxed orphan rule, you can define non-owned conversion with a ownedMarker. Keep in mind this inference will fail if multiple conversion paths are found.- Provides conversion from integer literal
i32to other numerical types.
Functions§
- Convert via
InferInto