我有两个名称、字段(和字段类型)完全相同的结构体,它们位于不同的模块中。这些结构体是由一个派生宏构建的,我想要轻松地将其中一个转换为另一个。
例如:
例如:
mod a {
struct A {
field1: String,
field2: String,
}
}
mod b {
struct A {
field1: String,
field2: String,
}
}
我希望能够执行let a: a::A = a::A::from(b::A)
或类似操作。
impl From<b::A> for a::A
需要在from()
方法中编写来自两个结构体的所有字段。有没有什么方法可以在不需要所有关联样板文件的情况下实现这一点?
graphql-client
crate 构建的结构体。它为每个查询创建结构体,但在我的情况下,我正在使用一个片段来处理所有查询,因此生成的结构体都是相同的。 - Javier Arias