From e8f1d57d8021d51c5b5d5eb17791c680ca770791 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Sat, 6 Nov 2021 19:41:33 +0100 Subject: [PATCH 1/2] Fix last doc code comment being removed if it only had one character --- compiler/rustc_ast/src/util/comments.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/rustc_ast/src/util/comments.rs b/compiler/rustc_ast/src/util/comments.rs index 542a330a03141..c40aec4b671dd 100644 --- a/compiler/rustc_ast/src/util/comments.rs +++ b/compiler/rustc_ast/src/util/comments.rs @@ -38,7 +38,7 @@ pub fn beautify_doc_string(data: Symbol) -> Symbol { i += 1; } // like the first, a last line of all stars should be omitted - if j > i && lines[j - 1].chars().skip(1).all(|c| c == '*') { + if j > i && !lines[j - 1].is_empty() && lines[j - 1].chars().all(|c| c == '*') { j -= 1; } From aa6f6f47cd7f83e3898b66e53ff30a414b0a0694 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Sat, 6 Nov 2021 19:42:43 +0100 Subject: [PATCH 2/2] Add test for removed one character last line in rustdoc --- src/test/rustdoc/include_str_cut.rs | 7 +++++++ src/test/rustdoc/short-line.md | 2 ++ 2 files changed, 9 insertions(+) create mode 100644 src/test/rustdoc/include_str_cut.rs create mode 100644 src/test/rustdoc/short-line.md diff --git a/src/test/rustdoc/include_str_cut.rs b/src/test/rustdoc/include_str_cut.rs new file mode 100644 index 0000000000000..cbc1ba8db7529 --- /dev/null +++ b/src/test/rustdoc/include_str_cut.rs @@ -0,0 +1,7 @@ +#![crate_name = "foo"] +#![no_std] + +// @has 'foo/fn.foo.html' +// @has - '//*[@class="docblock"]' 'inc2 x' +#[doc = include_str!("short-line.md")] +pub fn foo() {} diff --git a/src/test/rustdoc/short-line.md b/src/test/rustdoc/short-line.md new file mode 100644 index 0000000000000..eff713baac4a8 --- /dev/null +++ b/src/test/rustdoc/short-line.md @@ -0,0 +1,2 @@ +inc2 +x