> Also what does "the runtime can't evaluate a's capacity" mean?

That's a typo. Thanks.

> The assert would fail for an array of 16-byte. //15

Would it though...?

As far as I can tell, capacity will return 0 if the referenced block has no appendable data, or if said appendable data reports that there is stuff after the the slice. The fact that the slice is full wouldn't capacity from functioning.

This has been running for me for about 5 minutes:
```D
    foreach (i ; 2 .. size_t.max)
    {
        int[] a = new int[](i);
        int[] b = a[1 .. $];
        int[] c = a[1 .. $ - 1];
        assert(a.capacity != 0);
    }
```