1 #include <boost/safe_numerics/safe_integer.hpp> 2 using namespace boost::safe_numerics; 3 f(int i)4int f(int i){ 5 return i; 6 } 7 8 using safe_t = safe<long, native, loose_trap_policy>; 9 main()10int main(){ 11 const long x = 97; 12 f(x); // OK - implicit conversion to int 13 const safe_t y = 97; 14 f(y); // Would be OK, but will invoke compile time error 15 return 0; 16 }