| Crates.io | convert_by_name |
| lib.rs | convert_by_name |
| version | 0.0.4 |
| created_at | 2021-12-19 16:07:45.316654+00 |
| updated_at | 2023-07-25 17:41:46.592845+00 |
| description | Derive From and Into for structs and enums based on field and variant names |
| homepage | https://github.com/andy128k/convert_by_name/ |
| repository | https://github.com/andy128k/convert_by_name/ |
| max_upload_size | |
| id | 500425 |
| size | 16,508 |
Procedural macros to derive core::convert::From and core::convert::Into implementations based on field/variant names.
The crate supports structs and enums only. unions are not supported.
#[derive(PartialEq, Debug)]
struct Point2D {
x: i32,
y: i32,
}
#[derive(PartialEq, Debug, ConvertByName)]
#[from(Point2D)]
#[into(Point2D)]
struct Vec2D {
x: i32,
y: i32,
}
let point = Point2D { x: 3, y: 4 };
let vector: Vec2D = point.into();
assert_eq!(vector, Vec2D { x: 3, y: 4 });
let point2: Point2D = vector.into();
assert_eq!(point2, Point2D { x: 3, y: 4 });