[message] static assert `Meatdata::mPriority` is of proper bit size (#7563)

diff --git a/src/core/common/message.cpp b/src/core/common/message.cpp
index 409a0d3..d3681f2 100644
--- a/src/core/common/message.cpp
+++ b/src/core/common/message.cpp
@@ -346,6 +346,8 @@
     uint8_t        priority = static_cast<uint8_t>(aPriority);
     PriorityQueue *priorityQueue;
 
+    static_assert(kNumPriorities <= 4, "`Metadata::mPriority` as a 2-bit field cannot fit all `Priority` values");
+
     VerifyOrExit(priority < kNumPriorities, error = kErrorInvalidArgs);
 
     VerifyOrExit(IsInAQueue(), GetMetadata().mPriority = priority);