Thread overview | |||||
---|---|---|---|---|---|
|
November 15, 2012 shouldn't const cast always be allowed (even if shunned) | ||||
---|---|---|---|---|
| ||||
There are times when casting away const is needed. Structs that define opCast can get in the way of this. For instance, the cast below fails, but I think it should always be allowed. So, if the source type and cast type are the same except for const qualifiers, there is no need to consider custom opCast members. Is a reasonable suggestion for the language? The cast here fails because it is considering custom opCast methods, but that is not helpful. Thanks Dan --------------------- import std.bitmanip; void main() { const(BitArray) cba; cast()cba; } |
November 15, 2012 Re: shouldn't const cast always be allowed (even if shunned) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Dan | On 2012-23-15 15:11, Dan <dbdavidson@yahoo.com> wrote: > There are times when casting away const is needed. Structs that > define opCast can get in the way of this. For instance, the cast > below fails, but I think it should always be allowed. So, if the > source type and cast type are the same except for const qualifiers, > there is no need to consider custom opCast members. Is a reasonable > suggestion for the language? > > The cast here fails because it is considering custom opCast methods, > but that is not helpful. > > Thanks > Dan > > --------------------- > import std.bitmanip; > void main() { > const(BitArray) cba; > cast()cba; > } > That does indeed seem reasonable. File an enhancement request. -- Simen |
November 16, 2012 Re: shouldn't const cast always be allowed (even if shunned) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Dan | On Thursday, November 15, 2012 15:23:40 Dan wrote: > There are times when casting away const is needed. Structs that > define opCast can get in the way of this. For instance, the cast > below fails, but I think it should always be allowed. So, if the > source type and cast type are the same except for const > qualifiers, > there is no need to consider custom opCast members. Is a > reasonable > suggestion for the language? > > The cast here fails because it is considering custom opCast > methods, > but that is not helpful. > > Thanks > Dan > > --------------------- > import std.bitmanip; > void main() { > const(BitArray) cba; > cast()cba; > } http://d.puremagic.com/issues/show_bug.cgi?id=5747 - Jonathan M Davis |
Copyright © 1999-2021 by the D Language Foundation