Remove cast method
This commit is contained in:
parent
2e0521f4e5
commit
5d7b3cfba4
1 changed files with 2 additions and 17 deletions
|
@ -7,10 +7,8 @@
|
|||
* the `cast` function everywhere.
|
||||
*/
|
||||
pub trait NumConv {
|
||||
// TODO: the plan is to remove the `from` and `cast` methods and use the
|
||||
// `num::kinds::Number::from<T:Number(n: T)` method instead
|
||||
// TODO: remove and use `num::kinds::Number::from` instead
|
||||
static pure fn from<T:NumConv>(n: T) -> self;
|
||||
pure fn cast<T:NumConv>(&self) -> T;
|
||||
|
||||
pure fn to_u8(&self) -> u8;
|
||||
pure fn to_u16(&self) -> u16;
|
||||
|
@ -30,11 +28,10 @@ pub trait NumConv {
|
|||
}
|
||||
|
||||
#[inline(always)]
|
||||
pub pure fn cast<T:NumConv, U:NumConv>(n: T) -> U { n.cast() }
|
||||
pub pure fn cast<T:NumConv, U:NumConv>(n: T) -> U { NumConv::from(move n) }
|
||||
|
||||
pub impl u8: NumConv {
|
||||
#[inline(always)] static pure fn from<T:NumConv>(n: T) -> u8 { n.to_u8() }
|
||||
#[inline(always)] pure fn cast<T:NumConv>(&self) -> T { NumConv::from(*self) }
|
||||
|
||||
#[inline(always)] pure fn to_u8(&self) -> u8 { *self }
|
||||
#[inline(always)] pure fn to_u16(&self) -> u16 { *self as u16 }
|
||||
|
@ -55,7 +52,6 @@ pub impl u8: NumConv {
|
|||
|
||||
pub impl u16: NumConv {
|
||||
#[inline(always)] static pure fn from<T:NumConv>(n: T) -> u16 { n.to_u16() }
|
||||
#[inline(always)] pure fn cast<T:NumConv>(&self) -> T { NumConv::from(*self) }
|
||||
|
||||
#[inline(always)] pure fn to_u8(&self) -> u8 { *self as u8 }
|
||||
#[inline(always)] pure fn to_u16(&self) -> u16 { *self }
|
||||
|
@ -76,7 +72,6 @@ pub impl u16: NumConv {
|
|||
|
||||
pub impl u32: NumConv {
|
||||
#[inline(always)] static pure fn from<T:NumConv>(n: T) -> u32 { n.to_u32() }
|
||||
#[inline(always)] pure fn cast<T:NumConv>(&self) -> T { NumConv::from(*self) }
|
||||
|
||||
#[inline(always)] pure fn to_u8(&self) -> u8 { *self as u8 }
|
||||
#[inline(always)] pure fn to_u16(&self) -> u16 { *self as u16 }
|
||||
|
@ -97,7 +92,6 @@ pub impl u32: NumConv {
|
|||
|
||||
pub impl u64: NumConv {
|
||||
#[inline(always)] static pure fn from<T:NumConv>(n: T) -> u64 { n.to_u64() }
|
||||
#[inline(always)] pure fn cast<T:NumConv>(&self) -> T { NumConv::from(*self) }
|
||||
|
||||
#[inline(always)] pure fn to_u8(&self) -> u8 { *self as u8 }
|
||||
#[inline(always)] pure fn to_u16(&self) -> u16 { *self as u16 }
|
||||
|
@ -118,7 +112,6 @@ pub impl u64: NumConv {
|
|||
|
||||
pub impl uint: NumConv {
|
||||
#[inline(always)] static pure fn from<T:NumConv>(n: T) -> uint { n.to_uint() }
|
||||
#[inline(always)] pure fn cast<T:NumConv>(&self) -> T { NumConv::from(*self) }
|
||||
|
||||
#[inline(always)] pure fn to_u8(&self) -> u8 { *self as u8 }
|
||||
#[inline(always)] pure fn to_u16(&self) -> u16 { *self as u16 }
|
||||
|
@ -139,7 +132,6 @@ pub impl uint: NumConv {
|
|||
|
||||
pub impl i8: NumConv {
|
||||
#[inline(always)] static pure fn from<T:NumConv>(n: T) -> i8 { n.to_i8() }
|
||||
#[inline(always)] pure fn cast<T:NumConv>(&self) -> T { NumConv::from(*self) }
|
||||
|
||||
#[inline(always)] pure fn to_u8(&self) -> u8 { *self as u8 }
|
||||
#[inline(always)] pure fn to_u16(&self) -> u16 { *self as u16 }
|
||||
|
@ -160,7 +152,6 @@ pub impl i8: NumConv {
|
|||
|
||||
pub impl i16: NumConv {
|
||||
#[inline(always)] static pure fn from<T:NumConv>(n: T) -> i16 { n.to_i16() }
|
||||
#[inline(always)] pure fn cast<T:NumConv>(&self) -> T { NumConv::from(*self) }
|
||||
|
||||
#[inline(always)] pure fn to_u8(&self) -> u8 { *self as u8 }
|
||||
#[inline(always)] pure fn to_u16(&self) -> u16 { *self as u16 }
|
||||
|
@ -181,7 +172,6 @@ pub impl i16: NumConv {
|
|||
|
||||
pub impl i32: NumConv {
|
||||
#[inline(always)] static pure fn from<T:NumConv>(n: T) -> i32 { n.to_i32() }
|
||||
#[inline(always)] pure fn cast<T:NumConv>(&self) -> T { NumConv::from(*self) }
|
||||
|
||||
#[inline(always)] pure fn to_u8(&self) -> u8 { *self as u8 }
|
||||
#[inline(always)] pure fn to_u16(&self) -> u16 { *self as u16 }
|
||||
|
@ -202,7 +192,6 @@ pub impl i32: NumConv {
|
|||
|
||||
pub impl i64: NumConv {
|
||||
#[inline(always)] static pure fn from<T:NumConv>(n: T) -> i64 { n.to_i64() }
|
||||
#[inline(always)] pure fn cast<T:NumConv>(&self) -> T { NumConv::from(*self) }
|
||||
|
||||
#[inline(always)] pure fn to_u8(&self) -> u8 { *self as u8 }
|
||||
#[inline(always)] pure fn to_u16(&self) -> u16 { *self as u16 }
|
||||
|
@ -223,7 +212,6 @@ pub impl i64: NumConv {
|
|||
|
||||
pub impl int: NumConv {
|
||||
#[inline(always)] static pure fn from<T:NumConv>(n: T) -> int { n.to_int() }
|
||||
#[inline(always)] pure fn cast<T:NumConv>(&self) -> T { NumConv::from(*self) }
|
||||
|
||||
#[inline(always)] pure fn to_u8(&self) -> u8 { *self as u8 }
|
||||
#[inline(always)] pure fn to_u16(&self) -> u16 { *self as u16 }
|
||||
|
@ -244,7 +232,6 @@ pub impl int: NumConv {
|
|||
|
||||
pub impl f32: NumConv {
|
||||
#[inline(always)] static pure fn from<T:NumConv>(n: T) -> f32 { n.to_f32() }
|
||||
#[inline(always)] pure fn cast<T:NumConv>(&self) -> T { NumConv::from(*self) }
|
||||
|
||||
#[inline(always)] pure fn to_u8(&self) -> u8 { *self as u8 }
|
||||
#[inline(always)] pure fn to_u16(&self) -> u16 { *self as u16 }
|
||||
|
@ -265,7 +252,6 @@ pub impl f32: NumConv {
|
|||
|
||||
pub impl f64: NumConv {
|
||||
#[inline(always)] static pure fn from<T:NumConv>(n: T) -> f64 { n.to_f64() }
|
||||
#[inline(always)] pure fn cast<T:NumConv>(&self) -> T { NumConv::from(*self) }
|
||||
|
||||
#[inline(always)] pure fn to_u8(&self) -> u8 { *self as u8 }
|
||||
#[inline(always)] pure fn to_u16(&self) -> u16 { *self as u16 }
|
||||
|
@ -286,7 +272,6 @@ pub impl f64: NumConv {
|
|||
|
||||
pub impl float: NumConv {
|
||||
#[inline(always)] static pure fn from<T:NumConv>(n: T) -> float { n.to_float() }
|
||||
#[inline(always)] pure fn cast<T:NumConv>(&self) -> T { NumConv::from(*self) }
|
||||
|
||||
#[inline(always)] pure fn to_u8(&self) -> u8 { *self as u8 }
|
||||
#[inline(always)] pure fn to_u16(&self) -> u16 { *self as u16 }
|
||||
|
|
Loading…
Reference in a new issue