| error[E0308]: mismatched types |
| --> $DIR/restrict-existing-type-bounds.rs:13:12 |
| | |
| LL | impl<T: TryAdd> TryAdd for Option<T> { |
| | - this type parameter |
| ... |
| LL | Ok(self) |
| | -- ^^^^ expected `Option<<T as TryAdd>::Output>`, found `Option<T>` |
| | | |
| | arguments to this enum variant are incorrect |
| | |
| = note: expected enum `Option<<T as TryAdd>::Output>` |
| found enum `Option<T>` |
| help: the type constructed contains `Option<T>` due to the type of the argument passed |
| --> $DIR/restrict-existing-type-bounds.rs:13:9 |
| | |
| LL | Ok(self) |
| | ^^^----^ |
| | | |
| | this argument influences the type of `Ok` |
| note: tuple variant defined here |
| --> $SRC_DIR/core/src/result.rs:LL:COL |
| help: consider further restricting this bound |
| | |
| LL | impl<T: TryAdd<Output = T>> TryAdd for Option<T> { |
| | ++++++++++++ |
| |
| error[E0308]: mismatched types |
| --> $DIR/restrict-existing-type-bounds.rs:26:12 |
| | |
| LL | impl<T: TryAdd<Error = X>> TryAdd for Other<T> { |
| | - this type parameter |
| ... |
| LL | Ok(self) |
| | -- ^^^^ expected `Other<<T as TryAdd>::Output>`, found `Other<T>` |
| | | |
| | arguments to this enum variant are incorrect |
| | |
| = note: expected struct `Other<<T as TryAdd>::Output>` |
| found struct `Other<T>` |
| help: the type constructed contains `Other<T>` due to the type of the argument passed |
| --> $DIR/restrict-existing-type-bounds.rs:26:9 |
| | |
| LL | Ok(self) |
| | ^^^----^ |
| | | |
| | this argument influences the type of `Ok` |
| note: tuple variant defined here |
| --> $SRC_DIR/core/src/result.rs:LL:COL |
| help: consider further restricting this bound |
| | |
| LL | impl<T: TryAdd<Error = X, Output = T>> TryAdd for Other<T> { |
| | ++++++++++++ |
| |
| error: aborting due to 2 previous errors |
| |
| For more information about this error, try `rustc --explain E0308`. |