On Monday, 16 January 2017 at 11:54:23 UTC, Stefan Koch wrote:
On Sunday, 15 January 2017 at 12:53:04 UTC, Nordlöw wrote:
Why is there both

http://dlang.org/phobos/std_traits.html

and the builtin

https://dlang.org/spec/traits.html

?

Should we modify std.traits to make use of __traits? I've noticed measurably faster compilations with __traits instead of std.traits for simple things such as isIntegral, isUnsigned, etc.

If so, I'll happily make that happen!

There is a simple reason, you don't want complicated type-introspection logic welded into the compiler.

The reason why std.traits it slow is because of inefficiencies inside the template-system, which I intend to fix.
Therefore your efforts would be wasted.

I believe it still makes sense, since the logic need not to be applied both in the standard library and the compiler, when the compiler can deliver the information to the standard library, the standard library should use that information and at most wrap around it, not attempt to create an identical logic to that of the compiler.

Reply via email to