mirror of
https://github.com/rust-lang/rust-analyzer
synced 2025-01-09 11:48:48 +00:00
99 lines
2 KiB
Rust
99 lines
2 KiB
Rust
|
use std::fmt;
|
||
|
|
||
|
#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Copy)]
|
||
|
pub enum IntTy {
|
||
|
Isize,
|
||
|
I8,
|
||
|
I16,
|
||
|
I32,
|
||
|
I64,
|
||
|
I128,
|
||
|
}
|
||
|
|
||
|
impl fmt::Debug for IntTy {
|
||
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||
|
fmt::Display::fmt(self, f)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
impl fmt::Display for IntTy {
|
||
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||
|
write!(f, "{}", self.ty_to_string())
|
||
|
}
|
||
|
}
|
||
|
|
||
|
impl IntTy {
|
||
|
pub fn ty_to_string(&self) -> &'static str {
|
||
|
match *self {
|
||
|
IntTy::Isize => "isize",
|
||
|
IntTy::I8 => "i8",
|
||
|
IntTy::I16 => "i16",
|
||
|
IntTy::I32 => "i32",
|
||
|
IntTy::I64 => "i64",
|
||
|
IntTy::I128 => "i128",
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Copy)]
|
||
|
pub enum UintTy {
|
||
|
Usize,
|
||
|
U8,
|
||
|
U16,
|
||
|
U32,
|
||
|
U64,
|
||
|
U128,
|
||
|
}
|
||
|
|
||
|
impl UintTy {
|
||
|
pub fn ty_to_string(&self) -> &'static str {
|
||
|
match *self {
|
||
|
UintTy::Usize => "usize",
|
||
|
UintTy::U8 => "u8",
|
||
|
UintTy::U16 => "u16",
|
||
|
UintTy::U32 => "u32",
|
||
|
UintTy::U64 => "u64",
|
||
|
UintTy::U128 => "u128",
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
impl fmt::Debug for UintTy {
|
||
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||
|
fmt::Display::fmt(self, f)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
impl fmt::Display for UintTy {
|
||
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||
|
write!(f, "{}", self.ty_to_string())
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#[derive(Clone, PartialEq, Eq, Hash, Copy, PartialOrd, Ord)]
|
||
|
pub enum FloatTy {
|
||
|
F32,
|
||
|
F64,
|
||
|
}
|
||
|
|
||
|
impl fmt::Debug for FloatTy {
|
||
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||
|
fmt::Display::fmt(self, f)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
impl fmt::Display for FloatTy {
|
||
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||
|
write!(f, "{}", self.ty_to_string())
|
||
|
}
|
||
|
}
|
||
|
|
||
|
impl FloatTy {
|
||
|
pub fn ty_to_string(self) -> &'static str {
|
||
|
match self {
|
||
|
FloatTy::F32 => "f32",
|
||
|
FloatTy::F64 => "f64",
|
||
|
}
|
||
|
}
|
||
|
}
|