From 5606b42981e5714b22ff61ec2dcd37414d569287 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Mon, 9 May 2016 15:30:24 +0200 Subject: [PATCH] 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 --- src/doc/book/strings.md | 2 +- src/librustdoc/test.rs | 2 +- src/test/rustdoc/issue-25944.rs | 21 +++++++++++++++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 src/test/rustdoc/issue-25944.rs 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 or the MIT license +// , 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() { +} -- 2.44.0