about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2016-05-09 15:30:24 +0200
committerGeorg Brandl <georg@python.org>2016-05-09 22:46:40 +0200
commit5606b42981e5714b22ff61ec2dcd37414d569287 (patch)
treea5ce9ad9beb1be43bc8a942a15283e823d378638 /src
parent50909f2d5036e59871f779500dd722a62421c13c (diff)
downloadrust-5606b42981e5714b22ff61ec2dcd37414d569287.tar.gz
rust-5606b42981e5714b22ff61ec2dcd37414d569287.zip
rustdoc: remove artificial indentation of doctest code
This makes the examples look nicer when printed (when is this
done?), but breaks tests using multi-line string literals.

Fixes: #25944
Diffstat (limited to 'src')
-rw-r--r--src/doc/book/strings.md2
-rw-r--r--src/librustdoc/test.rs2
-rw-r--r--src/test/rustdoc/issue-25944.rs21
3 files changed, 23 insertions, 2 deletions
diff --git a/src/doc/book/strings.md b/src/doc/book/strings.md
index f5ebceedd36..008644ec9a3 100644
--- a/src/doc/book/strings.md
+++ b/src/doc/book/strings.md
@@ -32,7 +32,7 @@ include the newline and the leading spaces:
 let s = "foo
     bar";
 
-assert_eq!("foo\n        bar", s);
+assert_eq!("foo\n    bar", s);
 ```
 
 The second, with a `\`, trims the spaces and the newline:
diff --git a/src/librustdoc/test.rs b/src/librustdoc/test.rs
index 81fd1128afa..eb347b3b192 100644
--- a/src/librustdoc/test.rs
+++ b/src/librustdoc/test.rs
@@ -340,7 +340,7 @@ pub fn maketest(s: &str, cratename: Option<&str>, dont_insert_main: bool,
         prog.push_str(&everything_else);
     } else {
         prog.push_str("fn main() {\n    ");
-        prog.push_str(&everything_else.replace("\n", "\n    "));
+        prog.push_str(&everything_else);
         prog = prog.trim().into();
         prog.push_str("\n}");
     }
diff --git a/src/test/rustdoc/issue-25944.rs b/src/test/rustdoc/issue-25944.rs
new file mode 100644
index 00000000000..c22ecb4a22b
--- /dev/null
+++ b/src/test/rustdoc/issue-25944.rs
@@ -0,0 +1,21 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// compile-flags:--test
+
+/// ```
+/// let a = r#"
+/// foo
+/// bar"#;
+/// let b = "\nfoo\nbar";
+/// assert_eq!(a, b);
+/// ```
+pub fn main() {
+}