core.traits?

Steven Schveighoffer schveiguy at gmail.com
Mon Jan 7 21:46:59 UTC 2019


On 1/7/19 4:25 PM, Manu wrote:
> On Sat, Jan 5, 2019 at 11:00 PM Walter Bright via Digitalmars-d
> <digitalmars-d at puremagic.com> wrote:
>>
>> On 1/5/2019 1:12 PM, Manu wrote:
>>> We should move them to core.traits, and that should be their official
>>> home. It really just makes sense. Uncontroversial low-level traits
>>> don't belong in phobos.
>>
>> Sounds good.
> 
> Okay, so this is a challenging effort, since phobos is such a tangled
> rats nets of chaos...
> But attempting to move some traits immediately calls into question std.meta.
> I think we can all agree that Alias and AliasSeq should be in druntime
> along with core traits... but where should it live?
> Should there be core.meta as well? It's kinda like core.traits, in
> that it doesn't include runtime code, it doesn't increase the payload
> of druntime.lib for end-users..
> Perhaps AliasSeq should live somewhere different?
> I'm feeling like a lean/trimmed-down core.meta might want to exist
> next to core.traits though; it seems reasonable.
> 
> ....yes, this process will go on and on. The only way forward is to
> take each hurdle one at a time... and ideally, in attempting this
> effort, we can de-tangle a lot of cruft during the process.
> 

I was going to say core.meta should just have the basic definitions, but 
why not just dump all of it in there. As you said, they are templates 
(and so you only pay if you use them), and really part of the core 
language definition.

There are already parts of std.meta inside core.internal as well, so if 
we want to be consistent, we should just move it all ;)

-Steve


More information about the Digitalmars-d mailing list