...ing logging 4.0

はてなブログに移行しました。D言語の話とかいろいろ。

immutable

immutableが新設されてからだいぶ経ってしまったが今更ながら試してみた.

import std.stdio;
void main() {
    invariant(int) a = 10; // deprecated?
    immutable(int) b = 10;
}
class A {
    /+ error
    immutable(){
    }+/
    invariant(){
    }
}

dmd 2.021ではinvariant(){}の()は必要だけど,DbCのinvariantとstorage classのinvariantを分離して後者をimmutableにすることで,追々invariant{}に戻すつもりなのではなかろうか.
今からでもimmutableを使っていってもいいかも.