This sounds silly, but I'm seriously considering this.
Often times, I write code by (1) copy/pasting existing code, (2) making some minor changes, and (3) mentally telling myself to refactor at a later point. The reason for (3) is to avoid 'breaking flow' -- i.e. I'd rather have messy-end-to-end working code rather than "clean but not working" code.
Most of the time, I forget about (3). I would like the compiler enforce this. I want to have a macro where I specify a (year, month, day) triplet. If the current time stamp (from OS) is earlier than the triplet, the macro compiles fine. If the current time stamp is after the triplet, it generates a compiler error.
The goal here is that I can write messy/ugly code, drop a macro "time bomb" for 2-3 days, later, ... and at that time, the compiler will tell me to refactor the code.
[Yes, I realize it is terrible to have production code whose compile status depends on the OS time stamp. If you know of a better idea, I'm happy to listen.]