https://issues.dlang.org/show_bug.cgi?id=17968
Steven Schveighoffer <[email protected]> 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 <[email protected]> --- 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. --
