digitalmars.D.ide - Visual D mixin
- Amex (59/59) May 31 2019 mixin is 20k+ and mostly has junk, but also missing info
- Rainer Schuetze (5/26) May 31 2019 It's a compiler generated mixin for hash calculation. I agree, should be
mixin is 20k+ and mostly has junk, but also missing info // expansion at size_t h = 0;foreach (i, T; typeof(p.tupleof)) static if(is(T* : const(.object.Object)*)) h = h * 33 + typeid(const(.object.Object)).getHash(cast(const void*)&p.tupleof[i]); else h = h * 33 + typeid(T).getHash(cast(const void*)&p.tupleof[i]);return h; I'm not sure what this is, it might be from my code but it doesn't list the file It would be nice to 1. Disable any mixin outputs to the mixin file(unless they are required by D, but I think they are not?) from phobos(maybe make it optional) 2. Alow one to disable the output to the mixin in a single file(a pragma such as pragma(mixin, off);pragma(mixin, on);). This might require something on D itself. and one has zillions of // expansion at C:\D\dmd2\windows\bin\..\..\src\phobos\std\typecons.d(558) lhs < rhs // expansion at C:\D\dmd2\windows\bin\..\..\src\phobos\std\typecons.d(558) lhs < rhs // expansion at C:\D\dmd2\windows\bin\..\..\src\phobos\std\typecons.d(558) lhs == rhs // expansion at C:\D\dmd2\windows\bin\..\..\src\phobos\std\typecons.d(558) // expansion at C:\D\dmd2\windows\bin\..\..\src\phobos\std\functional.d(215) a < b // expansion at C:\D\dmd2\windows\bin\..\..\src\phobos\std\functional.d(469) a < b // expansion at C:\D\dmd2\windows\bin\..\..\src\phobos\std\functional.d(472) a < b // expansion at C:\D\dmd2\windows\bin\..\..\src\phobos\std\functional.d(213) alias a = __a ; // expansion at C:\D\dmd2\windows\bin\..\..\src\phobos\std\functional.d(214) alias b = __b ; // expansion at C:\D\dmd2\windows\bin\..\..\src\phobos\std\uni.d(7055) static if (getValue) grapheme ~= ch; range.popFront(); // expansion at C:\D\dmd2\windows\bin\..\..\src\phobos\std\uni.d(7063) static if (getValue) grapheme ~= ch; range.popFront(); // expansion at C:\D\dmd2\windows\bin\..\..\src\phobos\std\uni.d(7077) static if (getValue) grapheme ~= ch; range.popFront(); etc...
May 31 2019
On 31/05/2019 09:18, Amex wrote:mixin is 20k+ and mostly has junk, but also missing info // expansion at size_t h = 0;foreach (i, T; typeof(p.tupleof)) static if(is(T* : const(.object.Object)*)) h = h * 33 + typeid(const(.object.Object)).getHash(cast(const void*)&p.tupleof[i]); else h = h * 33 + typeid(T).getHash(cast(const void*)&p.tupleof[i]);return h;It's a compiler generated mixin for hash calculation. I agree, should be omitted.I'm not sure what this is, it might be from my code but it doesn't list the fileIt would be nice to 1. Disable any mixin outputs to the mixin file(unless they are required by D, but I think they are not?) from phobos(maybe make it optional 2. Alow one to disable the output to the mixin in a single file(a pragma such as pragma(mixin, off);pragma(mixin, on);). This might require something on D itself.Please add an enhancement request for the compiler to https://issues.dlang.org/
May 31 2019