aboutsummaryrefslogtreecommitdiff
path: root/boot/name_analysis.cc
diff options
context:
space:
mode:
Diffstat (limited to 'boot/name_analysis.cc')
-rw-r--r--boot/name_analysis.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/boot/name_analysis.cc b/boot/name_analysis.cc
index 22b7814..54a2d1a 100644
--- a/boot/name_analysis.cc
+++ b/boot/name_analysis.cc
@@ -539,9 +539,10 @@ for (const auto& member : expression->members)
if (!trait->type_decoration.empty())
{
type const resolved = resolve_underlying_type(trait->type_decoration);
- bool const is_enum = resolved.get<enumeration_type>() != nullptr;
- if (!is_enum && !is_discrete_type(resolved))
+ if (resolved.get<enumeration_type>() == nullptr
+ && !is_primitive_type(resolved, "Float")
+ && !is_discrete_type(resolved))
{
add_error<unsupported_trait_type_error>(trait->name,
trait->type_decoration);