clang で Uniform initialization

ありゃ、clang でも Uniform initialization 使えたんですね。
知らなかった…。

[ソース]

#include <string>
#include <cassert>

struct X{
    int n;
    std::string str;
};

X
func(){
    return {0, "homu"};
}

int
main(){
    X x{0, "homu"};
    auto x2 = func();

    assert(x.n   == 0);
    assert(x.str == "homu");

    assert(x2.n   == 0);
    assert(x2.str == "homu");

    return 0;
}

[コンパイラ]

  • clang 3.0