   LL|       |//! Regression test for <https://github.com/rust-lang/rust/issues/141577>.
   LL|       |//!
   LL|       |//! The changes in <https://github.com/rust-lang/rust/pull/144298> exposed a
   LL|       |//! latent bug that would sometimes cause the compiler to emit a covfun record
   LL|       |//! for a function, but not emit a corresponding PGO symbol name entry, because
   LL|       |//! the function did not have any physical coverage counters. The `llvm-cov`
   LL|       |//! tool would then fail to resolve the covfun record's function name hash,
   LL|       |//! and exit with the cryptic error:
   LL|       |//!
   LL|       |//! ```text
   LL|       |//!    malformed instrumentation profile data: function name is empty
   LL|       |//! ```
   LL|       |//!
   LL|       |//! The bug was then triggered in the wild by the macro-expansion of
   LL|       |//! `#[derive(arbitrary::Arbitrary)]`.
   LL|       |//!
   LL|       |//! This test uses a minimized form of the `Arbitrary` derive macro that was
   LL|       |//! found to still trigger the original bug. The bug could also be triggered
   LL|       |//! by a bang proc-macro or an attribute proc-macro.
   LL|       |
   LL|       |//@ edition: 2024
   LL|       |//@ revisions: attr bang derive
   LL|       |//@ proc-macro: try_in_macro_helper.rs
   LL|       |
   LL|       |trait Arbitrary {
   LL|       |    fn try_size_hint() -> Option<usize>;
   LL|       |}
   LL|       |
   LL|       |// Expand via an attribute proc-macro.
   LL|       |#[cfg_attr(attr, try_in_macro_helper::attr)]
   LL|       |const _: () = ();
   LL|       |
   LL|       |// Expand via a regular bang-style proc-macro.
   LL|       |#[cfg(bang)]
   LL|       |try_in_macro_helper::bang!();
   LL|       |
   LL|       |// Expand via a derive proc-macro.
   LL|       |#[cfg_attr(derive, derive(try_in_macro_helper::Arbitrary))]
   LL|       |enum MyEnum {}
   LL|       |
   LL|      1|fn main() {
   LL|      1|    MyEnum::try_size_hint();
   LL|      1|}

