use crateCodeBlock;
use crateSigilStitchError;
use crateCodeLang;
/// A spec that can emit itself as top-level file members.
///
/// Implement this trait to create custom spec types that can be added to a
/// [`FileSpec`](super::file_spec::FileSpec) via
/// [`add_spec`](super::file_spec::FileSpecBuilder::add_spec), without needing a
/// new [`FileMember`](super::file_spec::FileMember) variant.
///
/// Built-in implementations: [`TypeSpec`](super::type_spec::TypeSpec),
/// [`FunSpec`](super::fun_spec::FunSpec).