digitalmars.D.learn - std.typecons.Ref(T).opImplicitCastTo()
- simendsjo (3/3) Mar 30 2012 Is opImplicitCastTo a planned feature?
- Jonathan M Davis (9/12) Mar 30 2012 It's been discussed, but I don't think that it's ever been agreed upon. ...
- =?UTF-8?B?QWxleCBSw7hubmUgUGV0ZXJzZW4=?= (7/19) Apr 01 2012 But you can only have one alias this per type. It is outright
- Jonathan M Davis (13/34) Apr 01 2012 pon. In
- =?UTF-8?B?QWxleCBSw7hubmUgUGV0ZXJzZW4=?= (4/30) Apr 01 2012 What is the reason it hasn't been realized yet?
- Jonathan M Davis (23/32) Apr 01 2012 ally
- =?UTF-8?B?QWxleCBSw7hubmUgUGV0ZXJzZW4=?= (7/29) Apr 02 2012 To clarify, I mean to ask whether there are any design flaws in the
- Jonathan M Davis (3/37) Apr 02 2012 As far as I know, it's purely an implementation issue, but I don't know.
- James Miller (4/6) Apr 01 2012 Out of curiosity, what was opDot?
- Jonathan M Davis (14/19) Apr 01 2012 An overload of the dot operator. So, if you had
Is opImplicitCastTo a planned feature? It's only used in this type as I can see, and it doesn't add implicit casting.
Mar 30 2012
On Friday, March 30, 2012 16:27:44 simendsjo wrote:Is opImplicitCastTo a planned feature? It's only used in this type as I can see, and it doesn't add implicit casting.It's been discussed, but I don't think that it's ever been agreed upon. In theory, alias this is meant to deal with implicit casts. I don't know whay anything in Phobos would have such a function. And I don't know what the point of std.typecons.Ref really is. It's undocumented (and clearly is _intended_ to be undocumented given what the comment is started with). I suspect that it's an old idea that just hasn't been cleaned out. If you'll notice, it also has opDot, which is being removed from the language. - Jonathan M Davis
Mar 30 2012
On 30-03-2012 19:28, Jonathan M Davis wrote:On Friday, March 30, 2012 16:27:44 simendsjo wrote:But you can only have one alias this per type. It is outright incompatible with the idea of implicit cast operators. It's like restricting opCast to only one overload per function - a not-very-pragmatic decision if you ask me... -- - AlexIs opImplicitCastTo a planned feature? It's only used in this type as I can see, and it doesn't add implicit casting.It's been discussed, but I don't think that it's ever been agreed upon. In theory, alias this is meant to deal with implicit casts. I don't know whay anything in Phobos would have such a function. And I don't know what the point of std.typecons.Ref really is. It's undocumented (and clearly is _intended_ to be undocumented given what the comment is started with). I suspect that it's an old idea that just hasn't been cleaned out. If you'll notice, it also has opDot, which is being removed from the language. - Jonathan M Davis
Apr 01 2012
On Monday, April 02, 2012 05:41:00 Alex R=C3=B8nne Petersen wrote:On 30-03-2012 19:28, Jonathan M Davis wrote:citOn Friday, March 30, 2012 16:27:44 simendsjo wrote:Is opImplicitCastTo a planned feature? It's only used in this type as I can see, and it doesn't add impli=pon. Incasting.=20 It's been discussed, but I don't think that it's ever been agreed u=ow whaytheory, alias this is meant to deal with implicit casts. I don't kn=t theanything in Phobos would have such a function. And I don't know wha=ispoint of std.typecons.Ref really is. It's undocumented (and clearly=h). I_intended_ to be undocumented given what the comment is started wit=suspect that it's an old idea that just hasn't been cleaned out. If=alias this is not supposed to be restricted such that you can only have= one=20 per type. That's a temporary, implementation problem. TDPL specifically= talks=20 about having multiple alias thises per type. - Jonathan M Davisyou'll notice, it also has opDot, which is being removed from the language. =20 - Jonathan M Davis=20 But you can only have one alias this per type. It is outright incompatible with the idea of implicit cast operators. It's like restricting opCast to only one overload per function - a not-very-pragmatic decision if you ask me...
Apr 01 2012
On 02-04-2012 06:25, Jonathan M Davis wrote:On Monday, April 02, 2012 05:41:00 Alex Rønne Petersen wrote:What is the reason it hasn't been realized yet? -- - AlexOn 30-03-2012 19:28, Jonathan M Davis wrote:alias this is not supposed to be restricted such that you can only have one per type. That's a temporary, implementation problem. TDPL specifically talks about having multiple alias thises per type. - Jonathan M DavisOn Friday, March 30, 2012 16:27:44 simendsjo wrote:But you can only have one alias this per type. It is outright incompatible with the idea of implicit cast operators. It's like restricting opCast to only one overload per function - a not-very-pragmatic decision if you ask me...Is opImplicitCastTo a planned feature? It's only used in this type as I can see, and it doesn't add implicit casting.It's been discussed, but I don't think that it's ever been agreed upon. In theory, alias this is meant to deal with implicit casts. I don't know whay anything in Phobos would have such a function. And I don't know what the point of std.typecons.Ref really is. It's undocumented (and clearly is _intended_ to be undocumented given what the comment is started with). I suspect that it's an old idea that just hasn't been cleaned out. If you'll notice, it also has opDot, which is being removed from the language. - Jonathan M Davis
Apr 01 2012
On Monday, April 02, 2012 07:23:23 Alex R=C3=B8nne Petersen wrote:On 02-04-2012 06:25, Jonathan M Davis wrote:havealias this is not supposed to be restricted such that you can only =allyone per type. That's a temporary, implementation problem. TDPL specific=I don't know. While we're getting closer to having everything in TDPL=20= implemented correctly each release, there's still plenty of stuff left = to do,=20 and no one has tackled the alias this issue yet. I expect that it's not= an=20 entirely easy thing to fix and that other stuff has been higher priorit= y. http://d.puremagic.com/issues/show_bug.cgi?id=3D6083 The major thing being tackled this release has been const-correctness, = and=20 it's not done yet (in spite of there now being a beta for 2.059). I bel= ieve=20 that that's been one of Walter's major focuses this release cycle, and = I=20 wouldn't really expect him to tackle anything else major until Object's= const- correctness been sorted out. Nothing is stopping someone else from doin= g it,=20 but no one has. Plenty of other stuff has been fixed though. - Jonathan M Davistalks about having multiple alias thises per type. =20 - Jonathan M Davis=20 What is the reason it hasn't been realized yet?
Apr 01 2012
On 02-04-2012 07:32, Jonathan M Davis wrote:On Monday, April 02, 2012 07:23:23 Alex Rønne Petersen wrote:To clarify, I mean to ask whether there are any design flaws in the strategy of having multiple alias this in one type, or whether it is purely an issue in the implementation (i.e. just plain hasn't been done yet)? -- - AlexOn 02-04-2012 06:25, Jonathan M Davis wrote:I don't know. While we're getting closer to having everything in TDPL implemented correctly each release, there's still plenty of stuff left to do, and no one has tackled the alias this issue yet. I expect that it's not an entirely easy thing to fix and that other stuff has been higher priority. http://d.puremagic.com/issues/show_bug.cgi?id=6083 The major thing being tackled this release has been const-correctness, and it's not done yet (in spite of there now being a beta for 2.059). I believe that that's been one of Walter's major focuses this release cycle, and I wouldn't really expect him to tackle anything else major until Object's const- correctness been sorted out. Nothing is stopping someone else from doing it, but no one has. Plenty of other stuff has been fixed though. - Jonathan M Davisalias this is not supposed to be restricted such that you can only have one per type. That's a temporary, implementation problem. TDPL specifically talks about having multiple alias thises per type. - Jonathan M DavisWhat is the reason it hasn't been realized yet?
Apr 02 2012
On Monday, April 02, 2012 09:37:04 Alex Rønne Petersen wrote:On 02-04-2012 07:32, Jonathan M Davis wrote:As far as I know, it's purely an implementation issue, but I don't know. - Jonathan M DavisOn Monday, April 02, 2012 07:23:23 Alex Rønne Petersen wrote:To clarify, I mean to ask whether there are any design flaws in the strategy of having multiple alias this in one type, or whether it is purely an issue in the implementation (i.e. just plain hasn't been done yet)?On 02-04-2012 06:25, Jonathan M Davis wrote:I don't know. While we're getting closer to having everything in TDPL implemented correctly each release, there's still plenty of stuff left to do, and no one has tackled the alias this issue yet. I expect that it's not an entirely easy thing to fix and that other stuff has been higher priority. http://d.puremagic.com/issues/show_bug.cgi?id=6083 The major thing being tackled this release has been const-correctness, and it's not done yet (in spite of there now being a beta for 2.059). I believe that that's been one of Walter's major focuses this release cycle, and I wouldn't really expect him to tackle anything else major until Object's const- correctness been sorted out. Nothing is stopping someone else from doing it, but no one has. Plenty of other stuff has been fixed though. - Jonathan M Davisalias this is not supposed to be restricted such that you can only have one per type. That's a temporary, implementation problem. TDPL specifically talks about having multiple alias thises per type. - Jonathan M DavisWhat is the reason it hasn't been realized yet?
Apr 02 2012
On 31 March 2012 06:28, Jonathan M Davis <jmdavisProg gmx.com> wrote:it also has opDot, which is being removed from the language.Out of curiosity, what was opDot? -- James Miller
Apr 01 2012
On Monday, April 02, 2012 15:36:01 James Miller wrote:On 31 March 2012 06:28, Jonathan M Davis <jmdavisProg gmx.com> wrote:An overload of the dot operator. So, if you had A a = foo(); a.func(); and A implemented opDot, instead of A's func being called, the overloaded opDot would be called. I don't know exactly how it was implemented. It's either a D1-only thing or an early D2 thing, but I've never used it, and it's not supposed to be in the language anymore (though like a number of other features that are supposed to be gone, it may not have actually have been deprecated yet). It's probably similar to how -> is overloadable in C++, which can then be useful for stuff like smart pointer types so that they can forward function calls to the object pointed to by the smart pointer. - Jonathan M Davisit also has opDot, which is being removed from the language.Out of curiosity, what was opDot?
Apr 01 2012