diff options
author | David Faust <david.faust@oracle.com> | 2022-05-10 11:19:40 -0700 |
---|---|---|
committer | David Faust <david.faust@oracle.com> | 2022-05-11 09:29:55 -0700 |
commit | 502c8a859750064103bb71f4d559cef7b1c1b8af (patch) | |
tree | a200b18cd14d2bc8db86415662d6498476e9776a /gcc | |
parent | c1ff79996acfba45a50f181f9d3be1625cdef8f6 (diff) | |
download | gcc-502c8a859750064103bb71f4d559cef7b1c1b8af.zip gcc-502c8a859750064103bb71f4d559cef7b1c1b8af.tar.gz gcc-502c8a859750064103bb71f4d559cef7b1c1b8af.tar.bz2 |
typecheck: add is_primitive_type_kind helper
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/rust/typecheck/rust-tyty.cc | 20 | ||||
-rw-r--r-- | gcc/rust/typecheck/rust-tyty.h | 3 |
2 files changed, 23 insertions, 0 deletions
diff --git a/gcc/rust/typecheck/rust-tyty.cc b/gcc/rust/typecheck/rust-tyty.cc index 6b034ea..d0e8b76 100644 --- a/gcc/rust/typecheck/rust-tyty.cc +++ b/gcc/rust/typecheck/rust-tyty.cc @@ -114,6 +114,26 @@ TypeKindFormat::to_string (TypeKind kind) } bool +is_primitive_type_kind (TypeKind kind) +{ + switch (kind) + { + case TypeKind::BOOL: + case TypeKind::CHAR: + case TypeKind::INT: + case TypeKind::UINT: + case TypeKind::ISIZE: + case TypeKind::USIZE: + case TypeKind::FLOAT: + case TypeKind::NEVER: + case TypeKind::STR: + return true; + default: + return false; + } +} + +bool BaseType::satisfies_bound (const TypeBoundPredicate &predicate) const { const Resolver::TraitReference *query = predicate.get (); diff --git a/gcc/rust/typecheck/rust-tyty.h b/gcc/rust/typecheck/rust-tyty.h index 5f35c32..a2950e9 100644 --- a/gcc/rust/typecheck/rust-tyty.h +++ b/gcc/rust/typecheck/rust-tyty.h @@ -67,6 +67,9 @@ enum TypeKind ERROR }; +extern bool +is_primitive_type_kind (TypeKind kind); + class TypeKindFormat { public: |