From: Joshua Simmons Date: Sun, 5 May 2024 14:20:25 +0000 (+0200) Subject: narcissus-core: Add user-defined type to `flags_def` macro X-Git-Url: https://git.nega.tv//gitweb.cgi?a=commitdiff_plain;h=0f42b3f2834603b4b4c834f351540faf31c11ac2;p=josh%2Fnarcissus narcissus-core: Add user-defined type to `flags_def` macro --- diff --git a/engine/narcissus-core/src/lib.rs b/engine/narcissus-core/src/lib.rs index 40e8169..3372d6c 100644 --- a/engine/narcissus-core/src/lib.rs +++ b/engine/narcissus-core/src/lib.rs @@ -118,17 +118,20 @@ macro_rules! thread_token_def { #[macro_export] macro_rules! flags_def { ($name:ident) => { + flags_def!($name, u32); + }; + ($name:ident, $ty:ty) => { #[derive(PartialEq, Hash, Debug)] - pub struct $name(u32); + pub struct $name($ty); impl $name { #[inline] - pub fn from_raw(value: u32) -> Self { + pub fn from_raw(value: $ty) -> Self { Self(value) } #[inline] - pub fn as_raw(self) -> u32 { + pub fn as_raw(self) -> $ty { self.0 }