fix #7390

This makes `float` promote narrow integer types (< 32 bits) to `Float64` rather than `Float32`.