1*67e74705SXin Li namespace std { 2*67e74705SXin Li template<typename> struct mersenne_twister_engine { 3*67e74705SXin Li friend bool operator==(const mersenne_twister_engine &, 4*67e74705SXin Li const mersenne_twister_engine &) { 5*67e74705SXin Li return false; 6*67e74705SXin Li } 7*67e74705SXin Li }; 8*67e74705SXin Li struct random_device { 9*67e74705SXin Li mersenne_twister_engine<int> mt; // require complete type 10*67e74705SXin Li }; 11*67e74705SXin Li } 12*67e74705SXin Li 13