[Issue 17632] [REG 2.075-b1] opBinary and delegate code generation

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17632

Walter Bright  changed:

   What|Removed |Added

   Keywords||ice
 CC||bugzi...@digitalmars.com

--


[Issue 10233] [Tracker] Grammar issues

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=10233
Issue 10233 depends on issue 953, which changed state.

Issue 953 Summary: Multiple C style declarations of same type cannot be in one 
statement
https://issues.dlang.org/show_bug.cgi?id=953

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |WORKSFORME

--


[Issue 12196] Bad error message for multiple declarations

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=12196

Vladimir Panteleev  changed:

   What|Removed |Added

 Resolution|WORKSFORME  |DUPLICATE

--- Comment #3 from Vladimir Panteleev  ---


*** This issue has been marked as a duplicate of issue 953 ***

--


[Issue 953] Multiple C style declarations of same type cannot be in one statement

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=953

Vladimir Panteleev  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |WORKSFORME

--- Comment #8 from Vladimir Panteleev  ---
(In reply to Matti Niemenmaa from comment #0)
> int foo[2], bar[2];
> 
> The above fails with the error message "multiple declarations must have the
> same type, not int[2] and int[2]" which makes no sense. int[2] is the same
> type as int[2].

Fixed by https://github.com/dlang/dmd/pull/4021. Now it prints:

test.d(1): Deprecation: instead of C-style syntax, use D-style syntax 'int[2]
foo'
test.d(1): Deprecation: instead of C-style syntax, use D-style syntax 'int[2]
bar'

--


[Issue 953] Multiple C style declarations of same type cannot be in one statement

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=953

--- Comment #9 from Vladimir Panteleev  ---
*** Issue 12196 has been marked as a duplicate of this issue. ***

--


[Issue 4085] Steps toward a static foreach

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=4085

Vladimir Panteleev  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |MOVED

--- Comment #13 from Vladimir Panteleev  ---
https://github.com/dlang/dmd/pull/6760

Closing in favor of DIP 1010:
https://github.com/dlang/DIPs/blob/master/DIPs/DIP1010.md

--


[Issue 17628] formattedWrite is impure on double

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17628

Seb  changed:

   What|Removed |Added

 CC||greensunn...@gmail.com

--- Comment #2 from Seb  ---
> which I think may change FPU flags or something

A hack would to create a pureSnprintf which resets errno to the value before
its execution.

There are talks about doing this for free:

https://github.com/dlang/druntime/pull/1836

--


[Issue 15770] SocketSet.add OutOfMemoryError on Posix

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15770

Vladimir Panteleev  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WORKSFORME

--- Comment #1 from Vladimir Panteleev  ---
I can't reproduce this:

/// test.d //
import std.socket;

void main()
{
auto ss = new SocketSet;
auto s = new TcpSocket;
ss.add(s);  // succeeds
ss.add(TcpSocket.init); // segmentation fault as expected
}
/

Please reopen if you can provide a reproducible test case.

--


[Issue 17633] Unary negation has the wrong type

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17633

Vladimir Panteleev  changed:

   What|Removed |Added

  Component|dlang.org   |dmd
   Severity|enhancement |normal

--


[Issue 7063] No error or warning for conflicting D and C symbols

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=7063

--- Comment #5 from Vladimir Panteleev  ---
(In reply to anonymous4 from comment #4)
> This can be reliably diagnosed only by the linker, since duplicate symbols
> can be buried in libraries or come from different object files.

The compiler probably shouldn't be passing garbage to the linker if it can help
it, though.

--


[Issue 17631] Can overload functions with simple enum argument, but not with complex enum argument

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17631

Vladimir Panteleev  changed:

   What|Removed |Added

   Keywords||rejects-valid
   Hardware|x86_64  |All
Summary|can overlaod functions with |Can overload functions with
   |simple enum argument, but   |simple enum argument, but
   |not with complex enum   |not with complex enum
   |argument|argument
 OS|Linux   |All

--


[Issue 17596] dmd d 2.073.2 and 2.074.1 interim generated dmd segfaults on FreeBSD 12-CURRENT

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17596

--- Comment #7 from Vladimir Panteleev  ---
(In reply to Cy Schubert from comment #5)
> What do you think if DMD D and LDC D provided a facility to test
> __FreeBSD_version or if not that the major.minor version number?

Cy, you mentioned that the patch came with careful backwards compatibility
provisions so as not to break older binaries. In my previous comment I asked
how that compatibility check works, and whether we can take advantage of it.
Have you looked into that at all yet?

--


[Issue 17633] Unary negation has the wrong type

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17633

--- Comment #1 from Eyal  ---
If C's rules are not desirable here. That's fine.

assert_minus_1 should STILL not fail.

instead of -ubyte becoming int as in C, -ubyte can at least become byte.

--


[Issue 17628] formattedWrite is impure on double

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17628

--- Comment #1 from Vladimir Panteleev  ---
Missing:
import std.array : appender;

Seems to be impure because it calls snprintf (which I think may change FPU
flags or something).

--


[Issue 17627] DMD's toChars should not include the entire array of a slice result

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17627

Vladimir Panteleev  changed:

   What|Removed |Added

   Keywords||diagnostic
Summary|assert output in ctfe is|DMD's toChars should not
   |irritating  |include the entire array of
   ||a slice result

--


[Issue 17633] New: Unary negation has the wrong type

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17633

  Issue ID: 17633
   Summary: Unary negation has the wrong type
   Product: D
   Version: D2
  Hardware: All
   URL: http://dlang.org/
OS: All
Status: NEW
  Severity: enhancement
  Priority: P3
 Component: dlang.org
  Assignee: nob...@puremagic.com
  Reporter: e...@weka.io

Unary negating a ubyte has type ubyte. This is a bug because it contradicts the
behavior of the same unary operator syntax in C:

enum ubyte x = 1;
void assert_minus_1(int y) { assert(y == -1); }
static assert(is(typeof(-x) == int), "Violating C's type rules");
unittest {
assert_minus_1(-x); // -x is 255, it's zero-extended instead of
sign-extended!
}

--


[Issue 17626] Same name variable assignment should raise a compile-time warning

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17626

Vladimir Panteleev  changed:

   What|Removed |Added

   Keywords||diagnostic
  Component|dlang.org   |dmd

--


[Issue 16650] Wrong mangling for extern(C++) with posix stat_t

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16650

--- Comment #6 from Vladimir Panteleev  ---
(In reply to Jacob Carlborg from comment #5)
> I didn't really expect it to work. Perhaps a worthwhile feature?

Perhaps! Feel free to file an enhancement request.

--


[Issue 17625] Confusing error message for private functions in different modules

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17625

Vladimir Panteleev  changed:

   What|Removed |Added

   Keywords||diagnostic

--- Comment #1 from Vladimir Panteleev  ---
I also get another line from the compiler, before the two shown:

zmain.d(3): Deprecation: zmain.boo is not visible from module zmain

This adds to the confusion because there is no "boo" in zmain (the compiler is
referring to the overload set created by the imports).

But it also points that it is related to 313/314, so when the deprecation
period of those expires, the error messages may change.

--


[Issue 17614] [REG2.075.0-b2] __VERSION__ has the wrong value

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17614

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

https://github.com/dlang/installer/commit/5a92cda46371382ff03276970dd970d1a9718851
fix Issue 17614 - __VERSION__ has the wrong value

https://github.com/dlang/installer/commit/500302cdddb8c7b7ab656b565b7144ab7ac39dbf
Merge pull request #237 from MartinNowak/fix17614

--


[Issue 17632] [REG 2.075-b1] opBinary and delegate code generation

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17632

Vladimir Panteleev  changed:

   What|Removed |Added

   Keywords||wrong-code
Summary|2.075 beta regression:  |[REG 2.075-b1] opBinary and
   |opBinary and delegate code  |delegate code generation
   |generation  |

--- Comment #1 from Vladimir Panteleev  ---
Introduced by https://github.com/dlang/dmd/pull/6852

--


[Issue 17632] New: 2.075 beta regression: opBinary and delegate code generation

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17632

  Issue ID: 17632
   Summary: 2.075 beta regression: opBinary and delegate code
generation
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: regression
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: briancsch...@gmail.com

The following code executes successfully with 2.074.1 but segmentation faults
with 2.075.0-b4:



import std.stdio;

struct Test
{
void delegate() testBody;
Exception unexpected;

void opBinary(string op)(void delegate() fun)
{
testBody = fun;

// Call it
try
testBody();
catch (Exception ex)
unexpected = ex;
}
}

struct URL
{
string fragment;

}

struct JsonCube
{
URL dataURL;
}

struct JsonCubeDef
{
JsonCube _def;
this(string)
{
}
}

immutable TEST_JSON = `{}`;

void main()
{
auto def = cast(immutable) JsonCubeDef(TEST_JSON);

Test() in
{ writeln(def); };
}

--


[Issue 17159] Behavior of unions at compile time is not documented

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17159

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

https://github.com/dlang/dlang.org/commit/e6085cb8faa58a8dcf243aacd3bc93f3ac89d8b2
Fix Issue 17159 - Behavior of unions at compile time is not documented

https://github.com/dlang/dlang.org/commit/eefbd0fd9aedce5c063e135a295e84f183d0e62a
Merge pull request #1702 from wilzbach/fix-17159

Fix Issue 17159 - Behavior of unions at compile time is not documented
merged-on-behalf-of: Vladimir Panteleev 

--


[Issue 15373] Segfault when using typeid on extern(C++) class with virtual functions

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15373

--- Comment #1 from anonymous4  ---
Also don't generate TypeInfo for C++ classes, it doesn't look useful.

--


[Issue 16641] Infinite loop on InvalidMemoryOperationError in __dmd_personality_v0

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16641

--- Comment #5 from anonymous4  ---
It tries to throw exception from processException method? You have
InvalidMemoryOperationError stored in m_ex field?

--


[Issue 7063] No error or warning for conflicting D and C symbols

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=7063

--- Comment #4 from anonymous4  ---
This can be reliably diagnosed only by the linker, since duplicate symbols can
be buried in libraries or come from different object files.

--


[Issue 17631] New: can overlaod functions with simple enum argument, but not with complex enum argument

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17631

  Issue ID: 17631
   Summary: can overlaod functions with simple enum argument, but
not with complex enum argument
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: normal
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: e...@makechip.com

import std.stdio;

enum A : int { a, b };
enum B : int { a, b };
enum AS : string[2] { a = ["1","2"], b = ["3","4"] };
enum BS : string[2] { a = ["5","6"], b = ["7","8"] };

void func(A x)   { writeln("A");  }
void func(B x)   { writeln("B");  }
void funcs(AS x) { writeln("AS"); }
void funcs(BS x) { writeln("BS"); }

void test()
{
func(A.a); // no compiler error
funcs(AS.a); // compiler error: matches both funcs(AS) and funcs(BS)
}

void main(string[] args) { }

In the above code, the functions with the simple enum type argument can
be overloaded, but the functions with the complex enum type argument cannot be
overloaded.

--


[Issue 17596] dmd d 2.073.2 and 2.074.1 interim generated dmd segfaults on FreeBSD 12-CURRENT

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17596

--- Comment #6 from anonymous4  ---
see https://github.com/freebsd/freebsd/blob/master/lib/libc/gen/gen-compat.h

--


[Issue 12083] std.path.absolutePath doesn't accept mutable strings

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=12083

RazvanN  changed:

   What|Removed |Added

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

--


[Issue 12067] std.datetime.measureTime() has incomplete example, and does not work

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=12067

RazvanN  changed:

   What|Removed |Added

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

--


[Issue 17630] DMD treats imports as public imports when selectively imported

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17630

Jack Stouffer  changed:

   What|Removed |Added

 CC||j...@jackstouffer.com
   Hardware|x86_64  |All
 OS|Linux   |All

--


[Issue 8571] Defined exception for unequal zip lengths with StoppingPolicy.requireSameLength

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=8571

RazvanN  changed:

   What|Removed |Added

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

--- Comment #1 from RazvanN  ---
>From what I understood, the phobos administrators are pretty reluctant to
adding new exceptions unless they are definitely needed.

--


[Issue 17526] Add a set method for AA

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17526

Martin Nowak  changed:

   What|Removed |Added

 CC||c...@dawg.eu

--- Comment #7 from Martin Nowak  ---
That's definitely on the list, I proposed getOrSet as name.
http://forum.dlang.org/search?q=getOrSet
https://github.com/dlang/druntime/pull/1282/files#diff-7f36fe9957b2e56c0c468548c4e1b0aaR133

It could be added to today's hashtable using a small variation of _aaGetY
internally (taking a delegate for the initialization of the value).

--


[Issue 7729] fileno conflict

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=7729

Steven Schveighoffer  changed:

   What|Removed |Added

 Resolution|WORKSFORME  |FIXED

--- Comment #8 from Steven Schveighoffer  ---
The alias was removed here: https://github.com/dlang/phobos/pull/2809

So it was actually fixed before Jacob's test in January of 2015, but hadn't
made it into the released compiler yet.

--


[Issue 7729] fileno conflict

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=7729

RazvanN  changed:

   What|Removed |Added

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

--- Comment #7 from RazvanN  ---
Cannot reproduce on Ubuntu 16.04 with latest dmd.

--


[Issue 7729] fileno conflict

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=7729

RazvanN  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WORKSFORME

--


[Issue 17545] [REG2.072] __traits(getAttributes, name) evaluates name to value prematurely

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17545

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

https://github.com/dlang/dmd/commit/2e6c7ac3af5ec52aff63a779e781cab1a802dfa5
fix Issue 17545 - [REG2.072] __traits(getAttributes, name) evaluates name to
value prematurely

https://github.com/dlang/dmd/commit/1227633d355b0a6ab8f65d82247fcf0d5012129e
Merge pull request #6949 from WalterBright/fix17545

--


[Issue 17492] [REG 2.066] [ICE] AssertError@ddmd/dclass.d(1007): Assertion failure

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17492

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

https://github.com/dlang/dmd/commit/b9e92f385a3399f170a010813b0b05aee1110731
fix Issue 17492 - [REG 2.066] [ICE] AssertError@ddmd/dclass.d(1007): Assertion
failure

https://github.com/dlang/dmd/commit/ed24195a9ff2759b1c1ac2f0486e358eea8b56bc
Merge pull request #6964 from WalterBright/fix17492

--


[Issue 17481] [REG 2.069.0] synchronized: Access Violation with dmd -O on win32

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17481

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

https://github.com/dlang/dmd/commit/d728c0f9ba8f762682eced7da06f8123ed4d7f71
fix Issue 17481 - [REG 2.069.0] synchronized: Access Violation with dmd -O on
win32

https://github.com/dlang/dmd/commit/5fa367d499fd688d02e53afc9c2ceef31fb67619
Merge pull request #6965 from WalterBright/fix17481

--


[Issue 17614] [REG2.075.0-b2] __VERSION__ has the wrong value

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17614

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

   What|Removed |Added

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

--


[Issue 17548] [REG2.072.0] Forward reference error with scope function parameters

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17548

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

https://github.com/dlang/dmd/commit/8a67b112405213d95089426b8ecfc598ee14d3fb
Fix Issue 17548 - [REG2.072.0] Forward reference error with scope function
parameters

https://github.com/dlang/dmd/commit/b61d20fdbda633d7dfcf18f1b81649f25e32d0c4
Add testcase for issue 17548.

https://github.com/dlang/dmd/commit/2f6db2fb8bef57e55a45fc555128bd9d9fbf328e
Merge pull request #6937 from Syniurge/alt-fix17548

--


[Issue 17614] [REG2.075.0-b2] __VERSION__ has the wrong value

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17614

--- Comment #2 from github-bugzi...@puremagic.com ---
Commits pushed to stable at https://github.com/dlang/installer

https://github.com/dlang/installer/commit/5a92cda46371382ff03276970dd970d1a9718851
fix Issue 17614 - __VERSION__ has the wrong value

- VERSION file was changed to include 'v' prefix

https://github.com/dlang/installer/commit/500302cdddb8c7b7ab656b565b7144ab7ac39dbf
Merge pull request #237 from MartinNowak/fix17614

fix Issue 17614 - __VERSION__ has the wrong value

--


[Issue 4535] std.range could have a takeWhile!pred(range) function

2017-07-10 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=4535

RazvanN  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 CC||razvan.nitu1...@gmail.com
 Resolution|--- |INVALID

--