From 7e7ed143e71478ffa2396659b1b6db9cafa7fc8f Mon Sep 17 00:00:00 2001 From: Jonathan Tatum Date: Thu, 17 Apr 2025 13:51:38 -0700 Subject: [PATCH] internal PiperOrigin-RevId: 748799587 --- checker/internal/type_checker_impl.cc | 5 ++++- checker/internal/type_inference_context.cc | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/checker/internal/type_checker_impl.cc b/checker/internal/type_checker_impl.cc index c8dcf9b91..54f7b5fe3 100644 --- a/checker/internal/type_checker_impl.cc +++ b/checker/internal/type_checker_impl.cc @@ -184,6 +184,8 @@ absl::StatusOr FlattenType(const Type& type) { return AstType(ast_internal::PrimitiveType::kBool); case TypeKind::kInt: return AstType(ast_internal::PrimitiveType::kInt64); + case TypeKind::kEnum: + return AstType(ast_internal::PrimitiveType::kInt64); case TypeKind::kUint: return AstType(ast_internal::PrimitiveType::kUint64); case TypeKind::kDouble: @@ -231,7 +233,8 @@ absl::StatusOr FlattenType(const Type& type) { return AstType(ast_internal::WellKnownType::kAny); default: return absl::InternalError( - absl::StrCat("Unsupported type: ", type.DebugString())); + absl::StrCat("unsupported type encountered making AST serializable: ", + type.DebugString())); } } diff --git a/checker/internal/type_inference_context.cc b/checker/internal/type_inference_context.cc index 19d59daec..e6f29a4ce 100644 --- a/checker/internal/type_inference_context.cc +++ b/checker/internal/type_inference_context.cc @@ -319,6 +319,10 @@ bool TypeInferenceContext::IsAssignableInternal( return true; } + if (from_subs.kind() == TypeKind::kEnum && to_subs.kind() == TypeKind::kInt) { + return true; + } + if (IsWildCardType(from_subs) || IsWildCardType(to_subs)) { return true; }