[Issue 8845] Can't pass immediate or rvalue args to ref function parameters

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=8845 Walter Bright changed: What|Removed |Added Status|NEW |RESOLVED CC|

[Issue 20071] ref locals

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20071 --- Comment #2 from Manu --- How so? ref is more restrictive than pointers if anything. The fact they can't be re-bound and don't mess with assignment semantics are desirable advantages. It's also another case of weird asymmetry which I've had to

[Issue 20012] export inside mixin doesn't seem to work

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20012 --- Comment #2 from Manu --- Right. We'll, that's obviously broken :) --

[Issue 20071] ref locals

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20071 Walter Bright changed: What|Removed |Added CC||bugzi...@digitalmars.com --- Comment #1

[Issue 20012] export inside mixin doesn't seem to work

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20012 Walter Bright changed: What|Removed |Added CC||bugzi...@digitalmars.com --- Comment #1

[Issue 20053] mixin doesn't work for many expressions

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20053 Walter Bright changed: What|Removed |Added CC||bugzi...@digitalmars.com --- Comment #2

[Issue 9460] stringof on templated classes fails to list the template arguments of the type

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=9460 Basile-z changed: What|Removed |Added Status|RESOLVED|REOPENED CC|

[Issue 20076] New: [2.087.0] structs won't copy when using alias this and being assigned a const instance of said struct

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20076 Issue ID: 20076 Summary: [2.087.0] structs won't copy when using alias this and being assigned a const instance of said struct Product: D Version: D2 Hardware: x86_64

[Issue 1467] mixin same templates cause ld error: multiple definition

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=1467 RazvanN changed: What|Removed |Added Status|NEW |RESOLVED CC|

[Issue 20072] [2.087.0] Mixin templates: no property `somevar` for type `some.Type`, did you mean `some.Type.__anonymous.somevar`?

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20072 Ethan Watson changed: What|Removed |Added Severity|regression |blocker --- Comment #2 from Ethan Watson

[Issue 20076] [2.087.0] structs won't copy when using alias this and being assigned a const instance of said struct

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20076 Simen Kjaeraas changed: What|Removed |Added CC||simen.kja...@gmail.com --- Comment #2 from

[Issue 20067] [REG2.086] foreach no longer works on range with alias front

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20067 Dlang Bot changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Issue 20012] export inside mixin doesn't seem to work

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20012 --- Comment #10 from Walter Bright --- (In reply to Manu from comment #9) > A template mixin with an extern(C) function in it is obviously meant to be > included at the global scope, why on earth would there be an extern(C) > function in a template

[Issue 20012] export inside mixin doesn't seem to work

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20012 --- Comment #12 from Manu --- And if there are extern(C) functions in the boilerplate, then ***THERE ARE EXTERN(C) FUNCTIONS IN THE BOILERPLATE***. That's literally what we are talking about! You can't change the names of extern(C) functions, or

[Issue 20012] export inside mixin doesn't seem to work

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20012 --- Comment #4 from Manu --- Why are you comparing it to a struct with methods? mixin is not a structured object with methods, and there's no reason to think those methods should receive a context object and be mangled accordingly. mixin inserts

[Issue 20080] New: [2.087.0] Function overloads defined in mixin not callable

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20080 Issue ID: 20080 Summary: [2.087.0] Function overloads defined in mixin not callable Product: D Version: D2 Hardware: x86_64 OS: Windows Status: NEW

[Issue 20012] export inside mixin doesn't seem to work

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20012 --- Comment #8 from Walter Bright --- Template mixins are meant to be included multiple times. That's why the scope is part of the mangled name. --

[Issue 20079] New: [2.087.0] Forward declaration of functions defined in mixin templates don't compile

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20079 Issue ID: 20079 Summary: [2.087.0] Forward declaration of functions defined in mixin templates don't compile Product: D Version: D2 Hardware: x86_64 OS: Windows

[Issue 20012] export inside mixin doesn't seem to work

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20012 --- Comment #6 from Walter Bright --- You can also use: enum M = "export extern(C) void fun() {}"; mixin(M); --

[Issue 20079] [2.087.0] Forward declaration of functions defined in mixin templates don't compile

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20079 --- Comment #1 from Ethan Watson --- Created attachment 1757 --> https://issues.dlang.org/attachment.cgi?id=1757=edit Code example --

[Issue 20012] export inside mixin doesn't seem to work

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20012 Adam D. Ruppe changed: What|Removed |Added CC||destructiona...@gmail.com --- Comment #11

[Issue 20012] export inside mixin doesn't seem to work

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20012 --- Comment #13 from Walter Bright --- One use case is to construct a C callback function, i.e. a pointer to a C function. Another is to use C variadic function parameters. Another is filling a table with C function pointers. Another is providing

[Issue 20012] export inside mixin doesn't seem to work

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20012 --- Comment #14 from Manu --- I use those workarounds; but I still have to explain why it's broken to people. Those cases you describe, which are all cases of effectively anonymous functions, should be the ones that use pragma(mangle), you can

[Issue 20012] export inside mixin doesn't seem to work

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20012 --- Comment #3 from Walter Bright --- Is it? Note the same behavior happens with: struct S { extern (C) void foo() { } } i.e. foo() gets mangled. There are two aspects of C mangling - one is the ABI, the other is the ABI. Using C mangling in a

[Issue 20012] export inside mixin doesn't seem to work

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20012 --- Comment #5 from Manu --- > Using C mangling in a scope means there can be only one... Yes, and that's the entire point. That is how C is. Nobody would ever expect otherwise. --

[Issue 20012] export inside mixin doesn't seem to work

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20012 --- Comment #7 from Manu --- It's just one declaration among a bunch of other stuff that is inserted into the global scope, and it's the only declaration that doesn't 'work'. It shouldn't be separated from all its associated declarations, and it's

[Issue 20012] export inside mixin doesn't seem to work

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20012 --- Comment #9 from Manu --- A template mixin with an extern(C) function in it is obviously meant to be included at the global scope, why on earth would there be an extern(C) function in a template mixin otherwise? Especially an `extern` one. Nobody

[Issue 20072] [2.087.0] Mixin templates: no property `somevar` for type `some.Type`, did you mean `some.Type.__anonymous.somevar`?

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20072 Simen Kjaeraas changed: What|Removed |Added CC||simen.kja...@gmail.com --- Comment #3 from

[Issue 20077] Bogus 'need this' for lambda used inside struct

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20077 Simen Kjaeraas changed: What|Removed |Added Keywords||rejects-valid

[Issue 20053] mixin doesn't work for many expressions

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20053 --- Comment #3 from Manu --- Oh okay. Well I run into this all the time. I hadn't noticed the pattern that it was always type expressions that caused the issue, and I just fellback to mixin the whole statement. I'm quite tired of the workaround,

[Issue 20078] New: Multiple confusing error messages

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20078 Issue ID: 20078 Summary: Multiple confusing error messages Product: D Version: D2 Hardware: x86 OS: Windows Status: NEW Severity: enhancement

[Issue 20076] [2.087.0] structs won't copy when using alias this and being assigned a const instance of said struct

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20076 Ethan Watson changed: What|Removed |Added Severity|blocker |major --

[Issue 20076] [2.087.0] structs won't copy when using alias this and being assigned a const instance of said struct

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20076 --- Comment #1 from Ethan Watson --- More digging makes me think instead that because I'm using class objects, it actually needs a const-removing cast. And since it's not there, it's silently assuming the alias this is the correct thing to use. So

[Issue 20078] Multiple confusing error messages

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20078 Simen Kjaeraas changed: What|Removed |Added Keywords||diagnostic --

[Issue 20077] New: Bogus 'need this' for lambda used inside struct

2019-07-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20077 Issue ID: 20077 Summary: Bogus 'need this' for lambda used inside struct Product: D Version: D2 Hardware: x86 OS: Windows Status: NEW Severity: enhancement