Scott Meyers in ec++3e errata: declaring by-value function return values const will prevent their being bound to rvalue references in C++0x.