about summary refs log tree commit diff
path: root/src/librustdoc/html/format.rs
diff options
context:
space:
mode:
authorTom Jakubowski <tom@crystae.net>2015-02-06 02:02:59 -0800
committerTom Jakubowski <tom@crystae.net>2015-02-06 03:22:29 -0800
commitdf1cfde253eb770dd7b3333cfc1dce7f59faac63 (patch)
tree66cf24415cd31ee821f4cb34f83debcafb2cca92 /src/librustdoc/html/format.rs
parentabae840f450c6f2b38f6ebf83cfcf1a7928138b7 (diff)
downloadrust-df1cfde253eb770dd7b3333cfc1dce7f59faac63.tar.gz
rust-df1cfde253eb770dd7b3333cfc1dce7f59faac63.zip
Print full Type::ResolvedPaths starting with Self
(e.g., `Self::Output`)

This doesn't actually "resugar" qualified paths like `<Self as
Foo>::Output`, it just doesn't elide the prefix segments when rendering
cleaned paths like `Self::Output`.

cc #21145
Diffstat (limited to 'src/librustdoc/html/format.rs')
-rw-r--r--src/librustdoc/html/format.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/librustdoc/html/format.rs b/src/librustdoc/html/format.rs
index 7a6157b63b5..cc2cf21095e 100644
--- a/src/librustdoc/html/format.rs
+++ b/src/librustdoc/html/format.rs
@@ -460,7 +460,8 @@ impl fmt::Display for clean::Type {
                 f.write_str(name)
             }
             clean::ResolvedPath{ did, ref typarams, ref path } => {
-                try!(resolved_path(f, did, path, false));
+                // Paths like Self::Output should be rendered with all segments
+                try!(resolved_path(f, did, path, path.segments[0].name == "Self"));
                 tybounds(f, typarams)
             }
             clean::Infer => write!(f, "_"),