mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-03 15:15:24 +00:00
Implement some intrinsics
This commit is contained in:
parent
8e73ea5253
commit
3303a6eff5
7 changed files with 521 additions and 145 deletions
|
@ -1285,6 +1285,11 @@ fn cast_kind(source_ty: &Ty, target_ty: &Ty) -> Result<CastKind> {
|
|||
(_, chalk_ir::Scalar::Float(_)) => CastKind::IntToFloat,
|
||||
(_, _) => CastKind::IntToInt,
|
||||
},
|
||||
(TyKind::Scalar(_), TyKind::Raw(..)) => CastKind::PointerFromExposedAddress,
|
||||
(TyKind::Raw(..), TyKind::Scalar(_)) => CastKind::PointerExposeAddress,
|
||||
(TyKind::Raw(..) | TyKind::Ref(..), TyKind::Raw(..) | TyKind::Ref(..)) => {
|
||||
CastKind::PtrToPtr
|
||||
}
|
||||
// Enum to int casts
|
||||
(TyKind::Scalar(_), TyKind::Adt(..)) | (TyKind::Adt(..), TyKind::Scalar(_)) => {
|
||||
CastKind::IntToInt
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue