rustdoc: Render <Self as X>::Y type casts properly across crate bounds

This commit is contained in:
Justus K 2021-06-18 23:30:39 +02:00
parent 88ba8ad730
commit f14bdb506a
No known key found for this signature in database
GPG key ID: 8C62FE98A62FC462
3 changed files with 48 additions and 4 deletions

View 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),
}

View file

@ -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::*;
}