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.

Reply via email to