 The result is undefined only if it does not fit into the integer/subrange on the left hand side of the assignment.This may imply an artificial restriction on the range of integer types, or may require slow execution to handle the intermediate results