}
}
-impl clean::FunctionRetTy {
+impl clean::FnRetTy {
crate fn print(&self) -> impl fmt::Display + '_ {
display_fn(move |f| match self {
clean::Return(clean::Tuple(tys)) if tys.is_empty() => Ok(()),
display_fn(move |f| match self.did {
Some(did) => resolved_path(f, did, &self.path, true, false),
_ => {
- for (i, seg) in self.path.segments.iter().enumerate() {
- if i > 0 {
- write!(f, "::")?
- }
- write!(f, "{}", seg.name)?;
+ for seg in &self.path.segments[..self.path.segments.len() - 1] {
+ write!(f, "{}::", seg.name)?;
+ }
+ let name = self.path.last_name();
+ if let hir::def::Res::PrimTy(p) = self.path.res {
+ primitive_link(f, PrimitiveType::from(p), name)?;
+ } else {
+ write!(f, "{}", name)?;
}
Ok(())
}