[Issue 5898] New: [const] std.typecons.Rebindable.get() should be const-correct
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Wed Apr 27 07:54:16 PDT 2011
http://d.puremagic.com/issues/show_bug.cgi?id=5898
Summary: [const] std.typecons.Rebindable.get() should be
const-correct
Product: D
Version: D2
Platform: All
OS/Version: All
Status: NEW
Keywords: patch, rejects-valid
Severity: normal
Priority: P2
Component: Phobos
AssignedTo: nobody at puremagic.com
ReportedBy: kennytm at gmail.com
--- Comment #0 from kennytm at gmail.com 2011-04-27 07:50:31 PDT ---
Currently std.typecons.Rebindable.get() is not a const function. This makes the
a rebindable member not usable in a const function, e.g.
------------------------------------------
import std.typecons;
class Y {
string t;
}
class X {
Rebindable!(const(Y)) y;
override string toString() const {
return y.t; // Error
}
}
------------------------------------------
x.d(8): Error: function std.typecons.Rebindable!(const(Y)).Rebindable.get () is
not callable using argument types ()
------------------------------------------
There should be a const get() method, e.g.
diff --git a/std/typecons.d b/std/typecons.d
index 7d130ca..bbf7615 100644
--- a/std/typecons.d
+++ b/std/typecons.d
@@ -920,6 +920,9 @@ template Rebindable(T) if (is(T == class) || is(T ==
interface) || isArray!(T))
@property ref T get() {
return original;
}
+ @property const(T) get() const {
+ return original;
+ }
alias get this;
}
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list