From 1f20c461e2a63ab6f393d1abea096b54a2875e15 Mon Sep 17 00:00:00 2001 From: Dominik Werder Date: Mon, 16 Jun 2025 17:35:29 +0200 Subject: [PATCH] Support for log item --- src/streamitem.rs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/streamitem.rs b/src/streamitem.rs index cc02aae..3bad87c 100644 --- a/src/streamitem.rs +++ b/src/streamitem.rs @@ -250,3 +250,33 @@ mod levelserde { de.deserialize_u32(VisitLevel) } } + +pub trait AsLogItem { + fn as_log_item(&self) -> Option<&LogItem>; +} + +impl AsLogItem for Sitemty3 { + fn as_log_item(&self) -> Option<&LogItem> { + todo!() + } +} + +#[allow(unreachable_code, unused)] +fn assert_impl_as_log_item() { + let item: Sitemty = todo!(); + AsLogItem::as_log_item(&item); + let item: Sitemty2 = todo!(); + AsLogItem::as_log_item(&item); + let item: Sitemty3 = todo!(); + AsLogItem::as_log_item(&item); +} + +pub trait FromLogItem { + fn from_log_item(item: LogItem) -> Self; +} + +impl FromLogItem for Result, E> { + fn from_log_item(item: LogItem) -> Self { + Ok(StreamItem::Log(item)) + } +}