//! This file tests for the `DOC_MARKDOWN` lint, specifically cases //! where ticks are unbalanced (see issue #6753). //@no-rustfix #![allow(dead_code)] #![warn(clippy::doc_markdown)] /// This is a doc comment with `unbalanced_tick marks and several words that //~^ ERROR: backticks are unbalanced /// should be `encompassed_by` tick marks because they `contain_underscores`. /// Because of the initial `unbalanced_tick` pair, the error message is /// very `confusing_and_misleading`. fn main() {} /// This paragraph has `unbalanced_tick marks and should stop_linting. //~^ ERROR: backticks are unbalanced /// /// This paragraph is fine and should_be linted normally. //~^ ERROR: item in documentation is missing backticks /// /// Double unbalanced backtick from ``here to here` should lint. //~^ ERROR: backticks are unbalanced /// /// Double balanced back ticks ``start end`` is fine. fn multiple_paragraphs() {} /// ``` /// // Unbalanced tick mark in code block shouldn't warn: /// ` /// ``` fn in_code_block() {} /// # `Fine` /// /// ## not_fine //~^ ERROR: item in documentation is missing backticks /// /// ### `unbalanced //~^ ERROR: backticks are unbalanced /// /// - This `item has unbalanced tick marks //~^ ERROR: backticks are unbalanced /// - This item needs backticks_here //~^ ERROR: item in documentation is missing backticks fn other_markdown() {} #[rustfmt::skip] /// - ```rust /// /// `lol` /// pub struct Struct; /// ``` fn issue_7421() {} /// ` //~^ ERROR: backticks are unbalanced fn escape_0() {} /// Escaped \` backticks don't count. fn escape_1() {} /// Escaped \` \` backticks don't count. fn escape_2() {} /// Escaped \` ` backticks don't count, but unescaped backticks do. //~^ ERROR: backticks are unbalanced fn escape_3() {} /// Backslashes ` \` within code blocks don't count. fn escape_4() {}