On Monday, 30 June 2025 at 14:30:49 UTC, Manfred Nowak wrote:
On Sunday, 29 June 2025 at 13:06:38 UTC, Rajesh wrote:
[...]
```d
struct Problem {
this(int val) {
foreach (int number; myType)
return;
```
[...]
Is there a restriction [...]
Yes.
'this' is not allowed to have a 'return' (15.13.0.2) ...
and to exit a 'foreach'-loop needs a 'break' (12.11.0.6).
So the compiler should not compile that program even for
runtime.
`return` can be used to exit `foreach` (as can `goto` or
`throw`), and `return;` can be used in a constructor. The latter
I'll look at clarifying in the spec. The issue from this thread
is just a limitation of CTFE.