From 0f42b3f2834603b4b4c834f351540faf31c11ac2 Mon Sep 17 00:00:00 2001 From: Joshua Simmons Date: Sun, 5 May 2024 16:20:25 +0200 Subject: [PATCH] narcissus-core: Add user-defined type to `flags_def` macro --- engine/narcissus-core/src/lib.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) 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 } -- 2.49.0