    /// ```
    /// let _ = "early doctests should not go boom";
    /// ```
    struct Foo {
        bar: bool,
    }

    impl Foo {
        pub const bar: bool = true;

        /// Constructs a new `Foo`.
        ///
        /// # Examples
        ///
        /// ```
        /// # #![allow(unused_mut)]
        /// let mut foo: Foo = Foo::new();
        /// ```
        pub const fn new() -> Foo {
            Foo { bar: true }
        }

        /// `bar` method on `Foo`.
        ///
        /// # Examples
        ///
        /// ```
        /// use x::y;
        ///
        /// let foo = Foo::new();
        ///
        /// // calls bar on foo
        /// assert!(foo.bar());
        ///
        /// let bar = foo.bar || Foo::bar;
        ///
        /// /* multi-line
        ///        comment */
        ///
        /// let multi_line_string = "Foo
        ///   bar
        ///          ";
        ///
        /// ```
        ///
        /// ```rust,no_run
        /// let foobar = Foo::new().bar();
        /// ```
        ///
        /// ```sh
        /// echo 1
        /// ```
        pub fn foo(&self) -> bool {
            true
        }
    }

    /// ```
    /// noop!(1);
    /// ```
    macro_rules! noop {
        ($expr:expr) => {
            $expr
        }
    }