If it's a static assertion, then compilation will fail, whereas if it's a regular assertion, then it'll fail when running the unit tests. Normally, we make them static assertions if they can be tested at compile time, as is the case here.