なんでCopy Constructorが呼ばれないんですか?

class A {
public:
A() { std::cout << "Constructor " << std::endl; }
A(const A &a) { std::cout << "Copy Constructor " << std::endl; }
~A() { std::cout << "Destructor " << std::endl; }
};

A create_A() {
A tmp;
return tmp;
}

int main() {
A a = create_A();
return 0;
}