January 16, 2017
https://issues.dlang.org/show_bug.cgi?id=17080

--- Comment #8 from Sprink <sprink.noreply@gmail.com> ---
Why bother fixing this issue by just changing the type to a delegate? You are just making a temporary fix that has the potential to break code out there. Then you are just going to have to cause the same breakage when the actual underlying issue is fixed. This really shouldn't be half-assed.

If you are going to do anything, make taking the address of a member function without an object an error. That way it'll cause the same breakage but then people won't continue to use it and won't cause a second breakage.

--
January 16, 2017
https://issues.dlang.org/show_bug.cgi?id=17080

--- Comment #9 from Dicebot <public@dicebot.lv> ---
(In reply to Sprink from comment #8)
> Why bother fixing this issue by just changing the type to a delegate? You are just making a temporary fix that has the potential to break code out there. Then you are just going to have to cause the same breakage when the actual underlying issue is fixed. This really shouldn't be half-assed.

Because I disagree with your proposed fix and overall judgement of the problem but don't want to argue about it in context of this issue.

Finding a way to put a deprecation stage into this stage is something I keep thinking about.

> If you are going to do anything, make taking the address of a member function without an object an error. That way it'll cause the same breakage but then people won't continue to use it and won't cause a second breakage.

It is more intrusive change (will fail in more context) and I think that getting address of a method as a delegate is perfectly legitimate code - it would allow to set `dg.ptr` manually later to call it with arbitrary context.

--
January 16, 2017
https://issues.dlang.org/show_bug.cgi?id=17080

--- Comment #10 from Sprink <sprink.noreply@gmail.com> ---
(In reply to Dicebot from comment #9)
> Because I disagree with your proposed fix and overall judgement of the problem but don't want to argue about it in context of this issue.

In what context then? After a fix for this is pushed out the door without even discussing alternative solutions to the problem because the test code in an issue was a tad bit different? These issues are directly related, pushing one fix out the door without even discussing alternatives is just nonsense.

> It is more intrusive change (will fail in more context) and I think that getting address of a method as a delegate is perfectly legitimate code - it would allow to set `dg.ptr` manually later to call it with arbitrary context.

Which wouldn't be allowed in @safe code and would be more error prone cause dg.ptr is of type void*. When a very specific type is needed for the delegate to work properly. Adding a member-to-function pointer type would allow for it to be used in @safe code, would be less error prone as you can work with the type system to ensure you pass the correct type, rather than void* for "dg.ptr". It'll also allow D to better interface with C++, related to issue 16527. What exactly don't you agree with here? With your fix issue 3720 is still a problem with a "dg.ptr" set to null, doesn't work in @safe code and you can convert any pointer type to void* for "dg.ptr".

--
July 02, 2017
https://issues.dlang.org/show_bug.cgi?id=17080

Vladimir Panteleev <dlang-bugzilla@thecybershadow.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Hardware|x86_64                      |All
                 OS|Linux                       |All

--
December 05, 2017
https://issues.dlang.org/show_bug.cgi?id=17080

Mike Franklin <slavo5150@yahoo.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           See Also|                            |https://issues.dlang.org/sh
                   |                            |ow_bug.cgi?id=3720

--
August 07, 2019
https://issues.dlang.org/show_bug.cgi?id=17080

Simen Kjaeraas <simen.kjaras@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andrej.mitrovich@gmail.com

--- Comment #11 from Simen Kjaeraas <simen.kjaras@gmail.com> ---
*** Issue 20110 has been marked as a duplicate of this issue. ***

--
January 09, 2021
https://issues.dlang.org/show_bug.cgi?id=17080

Bolpat <qs.il.paperinik@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |qs.il.paperinik@gmail.com

--
April 03, 2022
https://issues.dlang.org/show_bug.cgi?id=17080

tyckesak <josipp@live.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Blocks|                            |22979


Referenced Issues:

https://issues.dlang.org/show_bug.cgi?id=22979
[Issue 22979] "Pointers-to-member" with attributes
--
December 09, 2022
https://issues.dlang.org/show_bug.cgi?id=17080

RazvanN <razvan.nitu1305@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
                 CC|                            |razvan.nitu1305@gmail.com
         Resolution|---                         |DUPLICATE

--- Comment #12 from RazvanN <razvan.nitu1305@gmail.com> ---
This actually is a dup of 3720. The underlying issue is how to treat the type of a delegate. Right now, the delegate type consists of a function pointer, which in turn has function type and a context pointer. Any fix to this organization is going to solve this issue also.

*** This issue has been marked as a duplicate of issue 3720 ***

--
1 2
Next ›   Last »