Can compiler’s optimizer eliminate trivial heap allocation?