[Issue 17968] [REG 2.073] object initializer omitted when it should be included.

2018-06-03 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17968

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

   What|Removed |Added

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

--


[Issue 17968] [REG 2.073] object initializer omitted when it should be included.

2018-06-03 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17968

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

https://github.com/dlang/dmd/commit/6fefecf21994bab869e2f281a4d2815a6884117a
Fix issue 17968 - When generating xtoHash function for a struct, use
typeid(const(Object)) for class members instead of the derived type to avoid
pulling in ungenerated symbols

https://github.com/dlang/dmd/commit/c69c5663d0a035ee1aacc1a1201a6de5ae6c25a4
Merge pull request #8222 from schveiguy/fix17968

Fix issue 17968 - Use typeid(Object) instead of typeid(T) to avoid pulling in
unused symbols
merged-on-behalf-of: unknown

--


[Issue 17968] [REG 2.073] object initializer omitted when it should be included.

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

Steven Schveighoffer  changed:

   What|Removed |Added

   See Also||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=18833

--


[Issue 17968] [REG 2.073] object initializer omitted when it should be included.

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

Steven Schveighoffer  changed:

   What|Removed |Added

   Keywords||pull

--- Comment #5 from Steven Schveighoffer  ---
PR: https://github.com/dlang/dmd/pull/8222

This does not fix the root cause, I will file a new issue on that.

--


[Issue 17968] [REG 2.073] object initializer omitted when it should be included.

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

--- Comment #4 from RazvanN  ---
Also, if IOObject is not templated, the code compiles.

--


[Issue 17968] [REG 2.073] object initializer omitted when it should be included.

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

Steven Schveighoffer  changed:

   What|Removed |Added

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

--


[Issue 17968] [REG 2.073] object initializer omitted when it should be included.

2017-11-06 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17968

--- Comment #3 from Steven Schveighoffer  ---
Further reduced mod1:

module mod1;

class IOObject(IO) {
}

struct BufferedInputSource(Source)
{
Source dev;
}

BufferedInputSource!Source bufd(Source)(Source s)
{
return BufferedInputSource!Source();
}

auto openDev(int )
{
return new IOObject!int;
}

--


[Issue 17968] [REG 2.073] object initializer omitted when it should be included.

2017-11-05 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17968

Steven Schveighoffer  changed:

   What|Removed |Added

Summary|object initializer for auto |[REG 2.073] object
   |function not included when  |initializer omitted when it
   |seen through 2 libraries|should be included.
   Severity|normal  |regression

--- Comment #2 from Steven Schveighoffer  ---
Used dustmite to reduce, then hand-reduced further. Does not require 2 libs,
but it does require the 2 calls into the lib (both openDev and bufd). openDev
must return auto. Files are as follows:

mod1.d:
module mod1;

struct File
{
}

class IOObject(IO) {
}

/// IFTI construction helper for `IOObject`
IOObject!IO ioObject(IO)()
{
return new IOObject!IO;
}

struct BufferedInputSource(Source)
{
Source dev;
}

BufferedInputSource!Source bufd(Source)(Source s)
{
return BufferedInputSource!Source();
}

auto openDev(int )
{
return ioObject!File();
}

app.d:
import mod1;

void main()
{
  openDev(0).bufd;
}

execute these commands:
dmd -lib -ofthelib.a mod1.d
dmd app.d thelib.a

This fails as of 2.073.0. Version 2.072.2 compiles and links.

--