[Issue 15459] [REG2.065.0] stdin.byLine.each!(map!somefunc) compiles, fails to link with ld

2018-12-15 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15459

Simon Naarmann  changed:

   What|Removed |Added

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

--- Comment #12 from Simon Naarmann  ---
(In reply to Walter Bright from comment #11)
> So it works for me.

The code from the opening post now fails to compile in DMD v2.083.1 and the
linker won't be called. That's good.

But ag0aep6g's reduced case from Comment 6 --
https://issues.dlang.org/show_bug.cgi?id=15459#c6 -- still compiles with DMD
v2.083.1 on 64-bit Linux, then fails to link. Linker error below. Expected
instead: That code should fail compilation, as annotated via /* should fail
compilation */.

/usr/bin/ld: a.o: in function `_D1a__T3mapZQfFNaNbNiNfZv':
a.d:(.text._D1a__T3mapZQfFNaNbNiNfZv[_D1a__T3mapZQfFNaNbNiNfZv]+0x27):
undefined reference to
`_D1a__T9MapResultZQl6__ctorMFNaNbNcNiNfAaZSQBp__TQBqZQBu'
collect2: error: ld returned 1 exit status
Error: linker exited with status 1

Or should we file a separate bug for that?

--


[Issue 19495] New: Lack of version conjunctions

2018-12-15 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19495

  Issue ID: 19495
   Summary: Lack of version conjunctions
   Product: D
   Version: D2
  Hardware: x86
OS: Mac OS X
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: andrew.penneba...@gmail.com

version() blocks often require combinations of version identifiers, including
union, intersection, negation, else if, and else structures. However, D
currently does not allow version expressions to be combined this way. When a
programmer wants to write

version(A) {
...
} version(B) {
...
} version(C || D) {
...
} else {
...
}

D instead generates a compiler error, or unintended runtime behavior, or even
different behavior based on the current host environment. I think it is
reasonable to assume that programmers want to combine version identifiers much
like if/else if/else structures, and we should offer this capability to our
users.

--


[Issue 19494] New: [REG 2.080.0][objc] interface `main.NSObject.Class` conflicts with interface `main.NSObject.Class`

2018-12-15 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19494

  Issue ID: 19494
   Summary: [REG 2.080.0][objc] interface `main.NSObject.Class`
conflicts with interface `main.NSObject.Class`
   Product: D
   Version: D2
  Hardware: x86_64
OS: Mac OS X
Status: NEW
  Severity: regression
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: d...@me.com

The following code fails to compile using 2.080.0 or later:

extern (Objective-C) interface NSObject
{
extern (Objective-C) interface Class {}
}

The error message is:

Error: interface `main.NSObject.Class` conflicts with interface
`main.NSObject.Class`

The issue is that when Objective-C class methods were implemented the type of
the metaclass was accidentally exposed as the "Class" member inside every
Objective-C interface.

--


[Issue 19493] New: compiler crash when trying to format invalid contracts

2018-12-15 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19493

  Issue ID: 19493
   Summary: compiler crash when trying to format invalid contracts
   Product: D
   Version: D2
  Hardware: All
   URL: http://dlang.org/
OS: All
Status: NEW
  Severity: normal
  Priority: P3
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: b2.t...@gmx.com

When DMD tries to format errors for

type of function function in

or

   type of function function out

it crashes due to unsafe access to null AST nodes.

--


[Issue 19492] Warn / error if shared static ctors haven't finished and we start running thread-local static ctors

2018-12-15 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19492

Neia Neutuladh  changed:

   What|Removed |Added

   Priority|P1  |P3

--


[Issue 19492] New: Warn / error if shared static ctors haven't finished and we start running thread-local static ctors

2018-12-15 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19492

  Issue ID: 19492
   Summary: Warn / error if shared static ctors haven't finished
and we start running thread-local static ctors
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: druntime
  Assignee: nob...@puremagic.com
  Reporter: dhase...@gmail.com

https://forum.dlang.org/thread/wubzutckdlxxojyye...@forum.dlang.org

User started a thread in a shared static constructor. This predictably started
running thread-local static constructors before the shared static constructors
finished.

It would be useful to have it be an error to start thread-local static
constructors before shared static constructors finish.

--


[Issue 19491] New: ICE (segfault) when initializing scope variable with shared type

2018-12-15 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19491

  Issue ID: 19491
   Summary: ICE (segfault) when initializing scope variable with
shared type
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: regression
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: rightfold+bugzilla+dl...@gmail.com

Tested with DMD 2.081.2. This bug does not seem to occur on DMD 2.073.

The following example causes DMD to ICE with a segfault:

$ cat example.d
class Foo {
shared this() { }
}

void main() {
scope foo = new shared Foo();
}
$ dmd example.d
Segmentation fault

If you replace scope by auto then it will compile just fine.

--


[Issue 16652] [Reg 2.071] returned rvalue destroyed too early

2018-12-15 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16652

--- Comment #4 from Walter Bright  ---
https://github.com/dlang/dmd/pull/9081

--


[Issue 19226] std.typecons.Nullable(T, T nullValue) doesn't fully handle non-self-equal nullValue

2018-12-15 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19226

--- Comment #2 from Nathan S.  ---
*** Issue 19488 has been marked as a duplicate of this issue. ***

--


[Issue 19488] std.typecons.Nullable(T, T nullValue) doesn't handle NaN for built-in complex and imaginary

2018-12-15 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19488

Nathan S.  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #2 from Nathan S.  ---
Clearly a duplicate of 19226. Not sure why I opened this.

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

--