summaryrefslogtreecommitdiffstats
path: root/tests/rustdoc/issue-85454.rs
blob: 5a49a9d06519e87a7868d3608eef75ff7b2f2508 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// aux-build:issue-85454.rs
// build-aux-docs
#![crate_name = "foo"]

extern crate issue_85454;

// @has foo/trait.FromResidual.html
// @has - '//pre[@class="rust item-decl"]' 'pub trait FromResidual<R = <Self as Try>::Residual> { // Required method fn from_residual(residual: R) -> Self; }'
pub trait FromResidual<R = <Self as Try>::Residual> {
    fn from_residual(residual: R) -> Self;
}

pub trait Try: FromResidual {
    type Output;
    type Residual;
    fn from_output(output: Self::Output) -> Self;
    fn branch(self) -> ControlFlow<Self::Residual, Self::Output>;
}

pub enum ControlFlow<B, C = ()> {
    Continue(C),
    Break(B),
}

pub mod reexport {
    // @has foo/reexport/trait.FromResidual.html
    // @has - '//pre[@class="rust item-decl"]' 'pub trait FromResidual<R = <Self as Try>::Residual> { // Required method fn from_residual(residual: R) -> Self; }'
    pub use issue_85454::*;
}