Re-exported types seem to have more confusing documentation than the original type. I noticed this while reviewing rayon::Configuration which is re-exported from rayon-core.
original/src/lib.rs
pub trait T {}
pub struct S;
impl S {
pub fn f<F>(_: F, _: Box<T>) -> Self
where F: Fn()
{
unimplemented!()
}
}
This is documented basically like what I wrote, which is what I would expect:

src/lib.rs
extern crate original;
pub use original::S;
This is documented with a couple changes, all of which are technically correct but unexpected.
- The
Box<T> is now Box<T + 'static>.
- The return type has changed from
Self to S.
The where clause gives an explicit -> (). fixed as of 1.50
- The parameter name placeholders are gone (which I prefer, but it is a difference).

I am using rustc 1.22.0-nightly (f861b6e 2017-09-01).
@GuillaumeGomez