A 'manifest' constant is one that is never allowed to use any storage. There is one 'type' for which this is already true - void. So how about: void int x = 3; This is a non-breaking change as using void this way is a syntax error. Granted void is not a storage class.