C++11中的std:move是如何实现的,从哪里能看到源代码

C++11中的std::move是怎么实现的,从哪里能看到源代码?
听说是这样的实现的:

templateT>
T&& Move(T&& a)
{
return a;
}


测试:
int x=1,y=2;
x=Move(y);
居然可行,那么它是怎么将一个左值转换成右值的?一个右值引用参数能捕获左值?这真奇了怪了。
------解决方案--------------------
引用:
理由是如果有人以后又对这个模板做了特化并修改type成非类型的什么东西,不明白这句话什么意思?

比如我可以自己写个
namespace std
{
  template <> remove_reference<int> { int type; };
}
虽然这样不合理但确实有可能会有人这么干。