#include namespace arc::validate { failure_t:: failure_t(std::source_location origin, std::string message, extras_t extras) : extras_{std::move(extras)} {} failure_t::extras_t const& failure_t:: extras() const { return extras_; } std::ostream& operator<<(std::ostream& o, failure_t::extras_t const& extras) { extras.extras_->print(o); return o; } } // namespace arc::validate