rustdoc: Render <Self as X>::Y type casts properly across crate bounds
This commit is contained in:
parent
88ba8ad730
commit
f14bdb506a
3 changed files with 48 additions and 4 deletions
17
src/test/rustdoc/auxiliary/issue-85454.rs
Normal file
17
src/test/rustdoc/auxiliary/issue-85454.rs
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
// @has issue_85454/trait.FromResidual.html
|
||||
// @has - '//pre[@class="rust trait"]' 'pub trait FromResidual<R = <Self as Try>::Residual> { 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),
|
||||
}
|
||||
|
|
@ -1,4 +1,10 @@
|
|||
// @has issue_85454/trait.FromResidual.html
|
||||
// aux-build:issue-85454.rs
|
||||
// build-aux-docs
|
||||
#![crate_name = "foo"]
|
||||
|
||||
extern crate issue_85454;
|
||||
|
||||
// @has foo/trait.FromResidual.html
|
||||
// @has - '//pre[@class="rust trait"]' 'pub trait FromResidual<R = <Self as Try>::Residual> { fn from_residual(residual: R) -> Self; }'
|
||||
pub trait FromResidual<R = <Self as Try>::Residual> {
|
||||
fn from_residual(residual: R) -> Self;
|
||||
|
|
@ -15,3 +21,9 @@ pub enum ControlFlow<B, C = ()> {
|
|||
Continue(C),
|
||||
Break(B),
|
||||
}
|
||||
|
||||
pub mod reexport {
|
||||
// @has foo/reexport/trait.FromResidual.html
|
||||
// @has - '//pre[@class="rust trait"]' 'pub trait FromResidual<R = <Self as Try>::Residual> { fn from_residual(residual: R) -> Self; }'
|
||||
pub use issue_85454::*;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue