# mod __import_protection {
#     use snaplog::scoped::IntoScoped;
#
#     #[derive(Debug, PartialEq)]
#     pub struct Prefixed {
#         pub prefix: Option<&'static str>,
#         pub content: &'static str,
#     }
#
#     impl Prefixed {
#         pub fn new(s: &'static str) -> Self {
#             let parts = s.split_once(':');
#
#             Self {
#                 prefix: parts.map(|(p, _)| p),
#                 content: parts.map(|(_, c)| c).unwrap_or(s),
#             }
#         }
#     }
#
#     impl IntoScoped for Prefixed {
#         type Scope = &'static str;
#         type Ignored = Option<&'static str>;
#
#         fn into_scoped(self) -> (Self::Scope, Self::Ignored) {
#             (self.content, self.prefix)
#         }
#
#         fn from_scoped(scope: Self::Scope, ignored: Self::Ignored) -> Self {
#             Self {
#                 prefix: ignored,
#                 content: scope,
#             }
#         }
#     }
# }
#
# use __import_protection::Prefixed;