This compiles: ``` fn not<T>(_x: T) { } fn main() { not(|| { error!("Hello world"); }) } ``` This does not (or should I say, it does not do not): ``` fn not<T>(_x: T) { } fn main() { do not { error!("Hello world"); } } ``` I am not sure it ever makes sense to have to do this instantiation except in this particular corner case, so feel free to wontfix this.