According to the documentation of std::isfinite, the overload bool isfinite( IntegralType arg ) always casts arg to double and calls bool isfinite( double arg ).
How would this be different from saying "bool isfinite( IntegralType arg ) always returns true"? In other words, under what scenario would bool isfinite( IntegralType arg ) return false?