num::is_infinity, etc. are generic functions on the Num, One and Zero traits and do divides by zero. This doesn't make sense for integers.