diff options
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: |