I've got a problem calling an immutable getter on an "ordinary" object.
struct A { float _pole; float pole() immutable { return _pole; } } void main() { A a; auto x = a.pole; // Ouch! } Error: function hello.A.pole () immutable is not callable using argument types () There's no problem when pole is const. I assume the problem is the hidden "this" parameter (is it? the message is a bit confusing). Then again, A is implicitly convertible to immutable(A) so there shouldn't be a problem, no? Maybe a compiler bug? BTW, can someone explain what's exactly the difference between a const and immutable member function? The D page says only about the latter. Tomek