///|
/// Trait methods are no longer attached to a type implicitly (E0079): since
/// `moon 0.1.20261104` the compiler warns that the promotion will be removed.
/// `#derive` still generates the `impl`, so what is left is to say explicitly
/// which of those methods may be called with dot syntax.
///
///
/// Only `ToJson::to_json` is promoted on purpose, and SarifLog is not among
/// them: it has a hand-written `to_json` that emits the document in schema
/// order, so promoting the derived one would collide with it. — it is the value form of the
/// JSON this library exists to produce. The `Eq` and `Debug` methods stay
/// reachable as `==` / `!=` and through the debug renderer, so their promotion
/// is marked deprecated and hidden instead of becoming public API.
///|
#deprecated("Use `==` and `!=` instead", skip_current_package=true)
#doc(hidden)
pub extend GithubAnnotation with Eq::{equal, not_equal}
///|
#deprecated("Use `Debug::to_repr` instead", skip_current_package=true)
#doc(hidden)
pub extend GithubAnnotation with @debug.Debug::{to_repr}
///|
pub extend GithubAnnotation with @json.ToJson::{to_json}
///|
#deprecated("Use `Debug::to_repr` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifBuilder with @debug.Debug::{to_repr}
///|
#deprecated("Use `==` and `!=` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifMessage with Eq::{equal, not_equal}
///|
#deprecated("Use `Debug::to_repr` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifMessage with @debug.Debug::{to_repr}
///|
pub extend SarifMessage with @json.ToJson::{to_json}
///|
#deprecated("Use `==` and `!=` instead", skip_current_package=true)
#doc(hidden)
pub extend ArtifactLocation with Eq::{equal, not_equal}
///|
#deprecated("Use `Debug::to_repr` instead", skip_current_package=true)
#doc(hidden)
pub extend ArtifactLocation with @debug.Debug::{to_repr}
///|
pub extend ArtifactLocation with @json.ToJson::{to_json}
///|
#deprecated("Use `==` and `!=` instead", skip_current_package=true)
#doc(hidden)
pub extend Region with Eq::{equal, not_equal}
///|
#deprecated("Use `Debug::to_repr` instead", skip_current_package=true)
#doc(hidden)
pub extend Region with @debug.Debug::{to_repr}
///|
pub extend Region with @json.ToJson::{to_json}
///|
#deprecated("Use `==` and `!=` instead", skip_current_package=true)
#doc(hidden)
pub extend PhysicalLocation with Eq::{equal, not_equal}
///|
#deprecated("Use `Debug::to_repr` instead", skip_current_package=true)
#doc(hidden)
pub extend PhysicalLocation with @debug.Debug::{to_repr}
///|
pub extend PhysicalLocation with @json.ToJson::{to_json}
///|
#deprecated("Use `==` and `!=` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifLocation with Eq::{equal, not_equal}
///|
#deprecated("Use `Debug::to_repr` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifLocation with @debug.Debug::{to_repr}
///|
pub extend SarifLocation with @json.ToJson::{to_json}
///|
#deprecated("Use `==` and `!=` instead", skip_current_package=true)
#doc(hidden)
pub extend Artifact with Eq::{equal, not_equal}
///|
#deprecated("Use `Debug::to_repr` instead", skip_current_package=true)
#doc(hidden)
pub extend Artifact with @debug.Debug::{to_repr}
///|
pub extend Artifact with @json.ToJson::{to_json}
///|
#deprecated("Use `==` and `!=` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifRule with Eq::{equal, not_equal}
///|
#deprecated("Use `Debug::to_repr` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifRule with @debug.Debug::{to_repr}
///|
pub extend SarifRule with @json.ToJson::{to_json}
///|
#deprecated("Use `==` and `!=` instead", skip_current_package=true)
#doc(hidden)
pub extend ToolDriver with Eq::{equal, not_equal}
///|
#deprecated("Use `Debug::to_repr` instead", skip_current_package=true)
#doc(hidden)
pub extend ToolDriver with @debug.Debug::{to_repr}
///|
pub extend ToolDriver with @json.ToJson::{to_json}
///|
#deprecated("Use `==` and `!=` instead", skip_current_package=true)
#doc(hidden)
pub extend Fingerprint with Eq::{equal, not_equal}
///|
#deprecated("Use `Debug::to_repr` instead", skip_current_package=true)
#doc(hidden)
pub extend Fingerprint with @debug.Debug::{to_repr}
///|
pub extend Fingerprint with @json.ToJson::{to_json}
///|
#deprecated("Use `==` and `!=` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifProperty with Eq::{equal, not_equal}
///|
#deprecated("Use `Debug::to_repr` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifProperty with @debug.Debug::{to_repr}
///|
pub extend SarifProperty with @json.ToJson::{to_json}
///|
#deprecated("Use `==` and `!=` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifResult with Eq::{equal, not_equal}
///|
#deprecated("Use `Debug::to_repr` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifResult with @debug.Debug::{to_repr}
///|
pub extend SarifResult with @json.ToJson::{to_json}
///|
#deprecated("Use `==` and `!=` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifInvocation with Eq::{equal, not_equal}
///|
#deprecated("Use `Debug::to_repr` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifInvocation with @debug.Debug::{to_repr}
///|
pub extend SarifInvocation with @json.ToJson::{to_json}
///|
#deprecated("Use `==` and `!=` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifRun with Eq::{equal, not_equal}
///|
#deprecated("Use `Debug::to_repr` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifRun with @debug.Debug::{to_repr}
///|
pub extend SarifRun with @json.ToJson::{to_json}
///|
#deprecated("Use `==` and `!=` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifLog with Eq::{equal, not_equal}
///|
#deprecated("Use `Debug::to_repr` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifLog with @debug.Debug::{to_repr}
///|
#deprecated("Use `==` and `!=` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifDiagnostic with Eq::{equal, not_equal}
///|
#deprecated("Use `Debug::to_repr` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifDiagnostic with @debug.Debug::{to_repr}
///|
pub extend SarifDiagnostic with @json.ToJson::{to_json}
///|
#deprecated("Use `==` and `!=` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifError with Eq::{equal, not_equal}
///|
#deprecated("Use `Debug::to_repr` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifError with @debug.Debug::{to_repr}
///|
pub extend SarifError with @json.ToJson::{to_json}
///|
#deprecated("Use `==` and `!=` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifFieldDescriptor with Eq::{equal, not_equal}
///|
#deprecated("Use `Debug::to_repr` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifFieldDescriptor with @debug.Debug::{to_repr}
///|
pub extend SarifFieldDescriptor with @json.ToJson::{to_json}
///|
#deprecated("Use `==` and `!=` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifStats with Eq::{equal, not_equal}
///|
#deprecated("Use `Debug::to_repr` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifStats with @debug.Debug::{to_repr}
///|
pub extend SarifStats with @json.ToJson::{to_json}
///|
#deprecated("Use `==` and `!=` instead", skip_current_package=true)
#doc(hidden)
pub extend RuleSummary with Eq::{equal, not_equal}
///|
#deprecated("Use `Debug::to_repr` instead", skip_current_package=true)
#doc(hidden)
pub extend RuleSummary with @debug.Debug::{to_repr}
///|
pub extend RuleSummary with @json.ToJson::{to_json}
///|
#deprecated("Use `==` and `!=` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifValidationPolicy with Eq::{equal, not_equal}
///|
#deprecated("Use `Debug::to_repr` instead", skip_current_package=true)
#doc(hidden)
pub extend SarifValidationPolicy with @debug.Debug::{to_repr}
///|
pub extend SarifValidationPolicy with @json.ToJson::{to_json}