r
примерно такой код:
struct Foo {}
struct Bar {}
enum Kind {
Foo(Foo),
Bar(Bar),
}
impl Kind {
pub fn name(&self) -> String {
...
}
}
struct AnotherStruct {
kind: String,
...
}
fn get_by_enum_name(arg: Kind) -> Vec<AnotherStruct> {
Ok(diesel_table
.filter(diesel_table::kind.eq(arg.name()))
.load::<AnotherStruct>(&POOL)
.await?)
}
как это делают нормальные люди? я не хочу передавать Kind в аргумент, потому что для этого мне придется для каждого kind'а создать какую-то stub-структуру, чтобы иметь возможность передавать kind в качестве аргумента. мне же нужно только "название" из энума. делать отдельный энум и дублировать в него те же значения, понятное дело, тоже не хочется.
второй вопрос: как вменяемо нарыть name? :)