Consider: auto c = [ 2.71, 3.14, 6.023e22 ]; c ~= 2.21953167; Should this work? Currently it doesn't because c's type is deduced as double[3]. The literal can initialize either double[3] or double[], so the question is only what the default should be when "auto" is used. Thoughts? Andrei