#![doc = include_str!("../README.md")]
#![doc(html_logo_url = "https://raw.githubusercontent.com/yasuo-ozu/announce/main/logo.png")]
#![doc(html_favicon_url = "https://raw.githubusercontent.com/yasuo-ozu/announce/main/logo.png")]
#![no_std]
pub use announce_macros::announce;
pub use announce_macros::define_repeater;
pub use announce_macros::signature_only;
#[cfg_attr(
feature = "proc-macro-api",
doc = "[`helper::check_type`] and [`helper::check_trait`] write that bound."
)]
#[cfg_attr(
not(feature = "proc-macro-api"),
doc = "`helper::check_type` and `helper::check_trait` write that bound (they need the feature `proc-macro-api`)."
)]
#[cfg_attr(
announce_diagnostic,
diagnostic::on_unimplemented(
message = "`{Self}` is not announced: its definition has no `#[announce]`",
label = "not announced, so it has no trampoline to call",
note = "add `#[announce]` to the definition of `{Self}`; for items of std and core, use the stand-ins of the `announce-std` crate"
)
)]
pub trait Announce {}
#[cfg(feature = "proc-macro-api")]
pub use type_leak;
#[cfg(feature = "proc-macro-api")]
#[doc(inline)]
pub use announce_core::helper;
#[cfg(feature = "proc-macro-api")]
pub mod machinery;
#[doc(hidden)]
pub mod __private {
pub use announce_macros::{__announce_runner, finish, remove, Capture};
}