[Issue 18905] [Reg 2.079] C++ classes can no longer be used with -betterC

2018-05-28 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18905

--- Comment #3 from Walter Bright  ---
https://github.com/dlang/dmd/pull/8304

--


[Issue 18871] DMD "illegal hardware instruction" crash

2018-05-28 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18871

Mike Franklin  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #7 from Mike Franklin  ---
(In reply to Walter Bright from comment #6)
> (In reply to Mike Franklin from comment #2)
> > Attempted fix: https://github.com/dlang/dmd/pull/8260
> 
> This was pulled. Does it fix it?

Yes, it appears to fix error.

--


[Issue 18871] DMD "illegal hardware instruction" crash

2018-05-28 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18871

Walter Bright  changed:

   What|Removed |Added

 CC||bugzi...@digitalmars.com

--- Comment #6 from Walter Bright  ---
(In reply to Mike Franklin from comment #2)
> Attempted fix: https://github.com/dlang/dmd/pull/8260

This was pulled. Does it fix it?

--


[Issue 18880] [REG2.079] Miscompilation of unittests when two are mixed-in on one line

2018-05-28 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18880

Walter Bright  changed:

   What|Removed |Added

 CC||bugzi...@digitalmars.com

--- Comment #4 from Walter Bright  ---
(In reply to johanengelen from comment #3)
> https://github.com/dlang/dmd/pull/8255

This was merged. Does it fix the issue?

--


[Issue 18884] getSymbolsByUDA fails on AliasSeq members

2018-05-28 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18884

Walter Bright  changed:

   What|Removed |Added

 CC||bugzi...@digitalmars.com

--- Comment #2 from Walter Bright  ---
(In reply to Simen Kjaeraas from comment #1)
> PR:
> https://github.com/dlang/phobos/pull/6518

This has been pulled. Has this issue been resolved?

--


[Issue 18868] Separate compilation generates two static this functions, runs it twice

2018-05-28 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18868

--- Comment #3 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/dlang/dmd

https://github.com/dlang/dmd/commit/849155631cba3017566d3160cf15cb40584abf10
fix Issue 18868 - nondeterministic static ctor/dtor

Instead of using a counter to create unique static ctor and dtor function
identifiers, use the deterministic line+column location that is also used for
unittests.
The further disambiguate mixin instantiations on the exact same location, use a
local counter.

https://github.com/dlang/dmd/commit/cf19b78d47572e1c6d1a79687ea592b051552e93
Merge pull request #8255 from JohanEngelen/fix18868

fix Issue 18868 - nondeterministic static ctor/dtor
merged-on-behalf-of: Jacob Carlborg 

--


[Issue 18868] Separate compilation generates two static this functions, runs it twice

2018-05-28 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18868

github-bugzi...@puremagic.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--


[Issue 18892] Wrong type in error message for static members and alias this

2018-05-28 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18892

github-bugzi...@puremagic.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--


[Issue 18892] Wrong type in error message for static members and alias this

2018-05-28 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18892

--- Comment #3 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/dlang/dmd

https://github.com/dlang/dmd/commit/6171f9e6980347b8678926034fb5757e513f0206
Fix Issue 18892 - Wrong type in error message for static members and alias this

https://github.com/dlang/dmd/commit/35f614c7d3e1ab72879a5c4d40eb64584095d6f4
Merge pull request #8303 from JinShil/fix_18892

Fix Issue 18892 - Wrong type in error message for static members and alias this
merged-on-behalf-of: Razvan Nitu 

--


[Issue 18892] Wrong type in error message for static members and alias this

2018-05-28 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18892

Mike Franklin  changed:

   What|Removed |Added

   Keywords||pull
 CC||slavo5...@yahoo.com

--- Comment #2 from Mike Franklin  ---
Alternative PR:  https://github.com/dlang/dmd/pull/8303

--


[Issue 18866] Overload from opDispatch ignored in WithStatement

2018-05-28 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18866

--- Comment #4 from Simen Kjaeraas  ---
> there would be absolutely no way of calling fun1() from within the 
> WithStatement body

Sure there would. Assuming the same code as in comment 0, you would call the
global fun2 using .fun2();. You can test this by duplicating the line that
calls fun2 and adding a period - it will print 'global'. There's no reason to
assume that wouldn't work if an overload was available via opDispatch.

--


[Issue 18866] Overload from opDispatch ignored in WithStatement

2018-05-28 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18866

RazvanN  changed:

   What|Removed |Added

 CC||razvan.nitu1...@gmail.com

--- Comment #3 from RazvanN  ---
I'm not sure if this bug report is valid. The current behavior might be a
future.
If this "bug" would be fixed there would be absolutely no way of calling fun1()
from within the WithStatement body and that IMHO is an arbitrary limitation.

As things stand now, the compiler first tries to resolve fun1 as a member of S1
and if that's not possible it goes up the enclosing scope. If the chain of
scopes is over and fun1 still wasn't resolved then opDispatch is called. In my
opinion this makes a lot more sense then calling opDispatch for every method
that is not defined in the struct.

--


[Issue 3680] default struct constructor should not be removed

2018-05-28 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=3680

RazvanN  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||razvan.nitu1...@gmail.com
 Resolution|--- |FIXED

--- Comment #9 from RazvanN  ---
This has been fixed. Both lines in test case 1) compile now and for test case
2) a deprecation is issued. I am referring to the test cases in the original
bug report. Closing as fixed.

--


[Issue 15125] Explicit pure needed even though pure: at the top of the file

2018-05-28 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15125

RazvanN  changed:

   What|Removed |Added

 CC||razvan.nitu1...@gmail.com

--- Comment #1 from RazvanN  ---
Although I cannot find any documentation about it, from what my experience
using pure:, safe:, extern(something):, nogc:, nothrow: works only for
top-level declaration (does not include the inner scopes of
aggregateDeclarations).

In your specific case pure and safe are applied to the MyExceptionClass but
since safe and pure do not make sense for classes, they are silently ignored
(not propagated to member functions).

I have no idea if this is the intended behavior or not, but in my opinion,
dmd's policy to silently ignore attributes when they do not make sense is not a
good one.

Other notable cases:

extern(C) class A {} // compiler accepts it and ignores extern(C) 

pure class A {}  // again no problem, but pure is not propagated to A's 
 // methods

@safe class A {} // ditto

The explanation for this is that you can use `$attribute`: at the top of the
module and only the declarations that make sense in conjunction with that
attribute will be affected and changing this to actually issuing an error for
those that don't would break too much code. I tried doing this for `extern(C)
class` and look at the result [1].

In conclusion, this will most likely be closed as WONTFIX.

[1] https://github.com/dlang/dmd/pull/7229

--