numericCast

func numericCast<T, U where T : _SignedInteger, U : _SignedInteger>(_: T)

Convert x to type U, trapping on overflow in -Onone and -O builds.

Typically used to do conversion to any contextually-deduced integer type:

func f(_ x: Int32) {}
func g(_ x: Int64) { f(numericCast(x)) }

Declaration

func numericCast<T, U where T : _SignedInteger, U : _SignedInteger>(_ x: T) -> U
func numericCast<T, U where T : _SignedInteger, U : UnsignedInteger>(_: T)

Convert x to type U, trapping on overflow in -Onone and -O builds.

Typically used to do conversion to any contextually-deduced integer type:

func f(_ x: UInt32) {}
func g(_ x: Int64) { f(numericCast(x)) }

Declaration

func numericCast<T, U where T : _SignedInteger, U : UnsignedInteger>(_ x: T) -> U
func numericCast<T, U where T : UnsignedInteger, U : _SignedInteger>(_: T)

Convert x to type U, trapping on overflow in -Onone and -O builds.

Typically used to do conversion to any contextually-deduced integer type:

func f(_ x: Int32) {}
func g(_ x: UInt64) { f(numericCast(x)) }

Declaration

func numericCast<T, U where T : UnsignedInteger, U : _SignedInteger>(_ x: T) -> U
func numericCast<T, U where T : UnsignedInteger, U : UnsignedInteger>(_: T)

Convert x to type U, trapping on overflow in -Onone and -O builds.

Typically used to do conversion to any contextually-deduced integer type:

func f(_ x: UInt32) {}
func g(_ x: UInt64) { f(numericCast(x)) }

Declaration

func numericCast<T, U where T : UnsignedInteger, U : UnsignedInteger>(_ x: T) -> U