C++11で静的データメンバ定義(X::singleton)のラムダ式中から、該当クラス(X)のprivateメソッド(X::X()X::init())にアクセスできるのはどうしてですか? C++仕様での該当パラグラフを知りたいです。

class X {
  X() {}
  void init() {}
public:
  X(const X&) = default;
  void mf() const {}
  static const X& singleton;
};

const X& X::singleton = []{
  static X obj;  // X::X()にアクセス可能
  obj.init();    // X::init()にアクセス可能
  return obj;
}();

int main()
{
//  X x;       // X::X()アクセス不可
//  x.init();  // X::init()アクセス不可
  X::singleton.mf();
}

LiveDemo: http://melpon.org/wandbox/permlink/hqOvjVHyBdfV5HtE