Вы можете попробовать , чтобы выразить это как:
type MyResult<T, U: FromStr> = Result<T, U>;
Но компилятор будет жаловаться, что:
warning: bounds on generic parameters are not enforced in type aliases
--> src/main.rs:4:21
|
4 | type MyResult<T, U: FromStr> = Result<T, U>;
| ^^^^^^^
|
= note: #[warn(type_alias_bounds)] on by default
= help: the bound will not be checked when the type alias is used, and should be removed
Что означает, что вы не должны делать это таким образом. Обратите внимание, однако, что FromStr
уже содержит Result
:
pub trait FromStr {
type Err;
fn from_str(s: &str) -> Result<Self, Self::Err>;
}
Может быть, вам стоит подумать об использовании напрямую?