In many cases, converting a float into a double results in a different decimal representation. So it may be flagged as a warning.
It would be useful to distinguish several cases:
widening conversion on floating point types (float -> double)
almost-always-widening conversion from an integer type to a floating point type (int -> float, long -> double)