Why the heck would they have to be ?
```
void main()
{
import std;
int i = 0;
format!"%s"((){if (!i) throw new Exception("oops"); return "helloho"; }()).writeln;
}
```
just let attribute inference do the job.
Comment #2 by jack — 2024-04-23T15:57:01Z
The point is that
void main() nothrow
{
import std;
int i = 0;
format!"%s"("This is a string");
}
doesn't work because exceptions are still thrown for checks that should be happening at compile time. E.g. attribute inference cannot be done.
Comment #3 by robert.schadek — 2024-12-01T16:32:15Z