On Saturday, 15 July 2017 at 12:29:09 UTC, Johan Engelen wrote:
On Friday, 14 July 2017 at 23:51:24 UTC, Walter Bright wrote:
On 7/14/2017 9:53 AM, Johan Engelen wrote:
What happens in that in one kind of compilation, @nogc is deduced for a function. But in another compilation, it isn't. Thus references to the function will have the wrong mangling, and linker errors happen:
https://issues.dlang.org/show_bug.cgi?id=17541

At the moment you can work around it by explicitly adding the annotation.

Cannot add something to a compiler internal function (e.g. __fieldPostblit), @nogc and pure are infectious, the templates are instantiated with different types where some instantiations require deducing @nogc/pure/..., others require @gc/impure/..., annotations cannot be applied conditionally (at least I don't know how), cannot add @gc, cannot add @impure, etc.

Not that it helps you at the moment, but thus is addressed by my attributes DIP.

I suppose you could abuse @allocSize to force @gc, but thats very ugly.

Reply via email to