Forgot what the motivation was there... I think it's a mistake because now constructors _can_ initialize immutable fields, so their initializers are mere default values.

Anyhow, how about this:

```D
static assert(__traits(compiles,
{
	immutable int x = 42;
 	static struct S { immutable int *p; }
 	immutable s = new S(&x);
}));
```