DMD supports ranges, but druntime can't see them?

Seb seb at wilzba.ch
Thu May 23 07:45:23 UTC 2019


On Thursday, 23 May 2019 at 07:40:20 UTC, Mike Franklin wrote:
> On Thursday, 23 May 2019 at 07:26:34 UTC, Mike Franklin wrote:
>> On Thursday, 23 May 2019 at 07:17:19 UTC, Manu wrote:
>>
>>> So, std.range.primitives -> core.range ?
>>
>> Take your best guess, submit a PR and see what the reviewers 
>> say.
>>  If I had to make a decision, I'd just mimic what's in Phobos 
>> (i.e. replace `std` with `core`), unless there's a good reason 
>> not to.
>
> A more conservative approach would be to put them in 
> `core.internal`.  `core.internal.traits` is already there.  My 
> understanding is that anything in `core.internal` is not 
> intended for public consumption, so we could start there 
> without committing to a public interface that we'd have to 
> maintain.  It can always be exposed publicly later when the 
> future becomes more clear.
>
> Mike

Yes, let's go with core.internal.range.

Motivation: when we can the package name, we have the unique 
opportunity of getting rid of some historic range missteps like 
auto-decoding for strings or using a special save() constructor 
for ForwardRanges to support class ranges.


More information about the Digitalmars-d mailing list