diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Miscellaneous/SharedDefines.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 1c06f20008d..729a3020359 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -338,9 +338,12 @@ constexpr SpellSchoolMask GetMaskForSchool(SpellSchools school) inline SpellSchools GetFirstSchoolInMask(SpellSchoolMask mask) { - for (SpellSchools school : EnumUtils::Iterate<SpellSchools>()) - if (mask & GetMaskForSchool(school)) - return school; + // Do not use EnumUtils to iterate + // this can cause some compilers to instantiate Trinity::Impl::EnumUtils<SpellSchools> + // when compiling enuminfo_SharedDefines before their explicit specializations in that file + for (uint16 i = 0; i < MAX_SPELL_SCHOOL; ++i) + if (mask & (1 << i)) + return SpellSchools(i); return SPELL_SCHOOL_NORMAL; } |