ph
Size: a a a
ph
А⚙
Result<..>
, чтобы он мог возвращать не только одну ошибку но и несколько одновременно (независимых, как например во время валидации чего-нибудь), но при этом чтобы работали вопросики?Result<T, Vec<MyError>>
и impl From<MyError> for Vec<MyError>
для того, чтобы работали вопросикиМЛ
МЛ
Result<T, Vec<MyError>>
и impl From<MyError> for Vec<MyError>
для того, чтобы работали вопросикиMyError
был Box<std::error::Error>
но в какой-то момент мне было сказано размер типа на время компиляции не известен. Подозреваю что где-то у меня образовалось циклическая зависимость, возможно из-за impl From
типом а-ля T+'static: std::error::Error
. С наскоку победить не удалось вот и подумал вдруг я не первый которому такое надо и возможно есть крейты для подобногоА⚙
MyError
был Box<std::error::Error>
но в какой-то момент мне было сказано размер типа на время компиляции не известен. Подозреваю что где-то у меня образовалось циклическая зависимость, возможно из-за impl From
типом а-ля T+'static: std::error::Error
. С наскоку победить не удалось вот и подумал вдруг я не первый которому такое надо и возможно есть крейты для подобногоМЛ
pub type CError = Vec<Box<dyn std::error::Error>>;
и оно ругается типа the trait 'std::convert::From<&str>' is not implemented for 'std::vec::Vec<std::boxed::Box<(dyn std::error::Error + 'static)>>'
, пытаюсь описать impl который оно не нашло - пишет что низзя, т.к. в другом крейтеМЛ
impl From<&str> for CError {
fn from(error: &str) -> Self {
unimplemented!()
}
}
МЛ
error[E0117]: only traits defined in the current crate can be implemented for arbitrary types
--> src/lib/error.rs:4:1
|
4 | impl From<&str> for CError {
| ^^^^^----------^^^^^------
| | | |
| | | `std::vec::Vec` is not defined in the current crate
| | `str` is not defined in the current crate
| impl doesn't use only types from inside the current crate
|
= note: define and implement a trait or new type instead
МЛ
ᵛ
🦉
AT
error[E0117]: only traits defined in the current crate can be implemented for arbitrary types
--> src/lib/error.rs:4:1
|
4 | impl From<&str> for CError {
| ^^^^^----------^^^^^------
| | | |
| | | `std::vec::Vec` is not defined in the current crate
| | `str` is not defined in the current crate
| impl doesn't use only types from inside the current crate
|
= note: define and implement a trait or new type instead
🦉
🦉
🦉
request_body: request_bodies::Example, query: session_create::Query
, а остальные аргументы были бы производных типов, так можно было бы вытаскивать нужные штуки, вроде actix_web::web::Data<MyApp>
DZ
request_body: request_bodies::Example, query: session_create::Query
, а остальные аргументы были бы производных типов, так можно было бы вытаскивать нужные штуки, вроде actix_web::web::Data<MyApp>
🦉
DZ
DZ
MB