| //@ check-pass | |
| use std::fmt::Debug; | |
| #[derive(Debug)] | |
| pub struct Target; | |
| #[derive(Debug)] | |
| pub struct Source; | |
| impl From<Source> for Target { | |
| fn from(_: Source) -> Self { | |
| Self | |
| } | |
| } | |
| fn maybe_source() -> Result<(), Source> { | |
| todo!() | |
| } | |
| pub fn typaram() -> Result<(), impl Debug> { | |
| maybe_source()?; | |
| Ok::<_, Target>(()) | |
| } | |
| pub fn direct() -> Result<(), impl Debug> { | |
| maybe_source()?; | |
| Err(Target) | |
| } | |
| fn main() {} |