Why can't I use constants in mods as const generic parameter

50 points John_by_the_sea

The title may not be quite straightforward, but here is a sample code that may explain it better

mod values {
    pub const ZERO: usize = 0;
}
const ZERO: usize = 0;

struct Impl<const V: usize>;

impl Impl<ZERO> { } // Allowed

impl Impl<values::ZERO> { } // Not allowed

impl Impl<{ values::ZERO }> { } // Have to do this? Why?

Does anyone has any insights into this?