Why is 'declared but not used' error only given for a single statement?

Doing something like

if true {
    a := 12
}

Gives the error Error: 'a' declared but not used, but this

if true {
    a := 12
    b := 12
}

Doesn’t give any error? Is this a bug? It seems intentional in this commit tho: Add check to block statements to see if they only contain one stateme… · odin-lang/Odin@4844dd4 · GitHub

It depends on the arguments passed to the compiler.
To get the behavior you want, use odin check . -vet .

Because it’s pretty much always a bug when you have only one statement in a block-based statement and it’s just a declaration. If you really want that, then do _ = foo() or even _ = a after you declared a.