https://issues.dlang.org/show_bug.cgi?id=8845
Walter Bright changed:
What|Removed |Added
Status|NEW |RESOLVED
CC|
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
https://issues.dlang.org/show_bug.cgi?id=20012
--- Comment #2 from Manu ---
Right. We'll, that's obviously broken :)
--
https://issues.dlang.org/show_bug.cgi?id=20071
Walter Bright changed:
What|Removed |Added
CC||bugzi...@digitalmars.com
--- Comment #1
https://issues.dlang.org/show_bug.cgi?id=20012
Walter Bright changed:
What|Removed |Added
CC||bugzi...@digitalmars.com
--- Comment #1
https://issues.dlang.org/show_bug.cgi?id=20053
Walter Bright changed:
What|Removed |Added
CC||bugzi...@digitalmars.com
--- Comment #2
https://issues.dlang.org/show_bug.cgi?id=9460
Basile-z changed:
What|Removed |Added
Status|RESOLVED|REOPENED
CC|
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
https://issues.dlang.org/show_bug.cgi?id=1467
RazvanN changed:
What|Removed |Added
Status|NEW |RESOLVED
CC|
https://issues.dlang.org/show_bug.cgi?id=20072
Ethan Watson changed:
What|Removed |Added
Severity|regression |blocker
--- Comment #2 from Ethan Watson
https://issues.dlang.org/show_bug.cgi?id=20076
Simen Kjaeraas changed:
What|Removed |Added
CC||simen.kja...@gmail.com
--- Comment #2 from
https://issues.dlang.org/show_bug.cgi?id=20067
Dlang Bot changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|---
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
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
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
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
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.
--
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
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);
--
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
--
https://issues.dlang.org/show_bug.cgi?id=20012
Adam D. Ruppe changed:
What|Removed |Added
CC||destructiona...@gmail.com
--- Comment #11
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
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
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
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.
--
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
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
https://issues.dlang.org/show_bug.cgi?id=20072
Simen Kjaeraas changed:
What|Removed |Added
CC||simen.kja...@gmail.com
--- Comment #3 from
https://issues.dlang.org/show_bug.cgi?id=20077
Simen Kjaeraas changed:
What|Removed |Added
Keywords||rejects-valid
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,
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
https://issues.dlang.org/show_bug.cgi?id=20076
Ethan Watson changed:
What|Removed |Added
Severity|blocker |major
--
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
https://issues.dlang.org/show_bug.cgi?id=20078
Simen Kjaeraas changed:
What|Removed |Added
Keywords||diagnostic
--
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
35 matches
Mail list logo