diff --git a/platform/node/test/ignores.json b/platform/node/test/ignores.json index 6e551f9daae..bde950ca9cf 100644 --- a/platform/node/test/ignores.json +++ b/platform/node/test/ignores.json @@ -1,7 +1,4 @@ { - "expression-tests/array/implicit-1": "https://github.com/mapbox/mapbox-gl-native/issues/10533", - "expression-tests/array/implicit-2": "https://github.com/mapbox/mapbox-gl-native/issues/10533", - "expression-tests/array/implicit-3": "https://github.com/mapbox/mapbox-gl-native/issues/10533", "expression-tests/coalesce/inference": "https://github.com/mapbox/mapbox-gl-native/issues/10588", "expression-tests/interpolate/linear-color": "https://github.com/mapbox/mapbox-gl-native/issues/10604", "expression-tests/to-rgba/alpha": "https://github.com/mapbox/mapbox-gl-native/issues/10604", diff --git a/src/mbgl/style/expression/parsing_context.cpp b/src/mbgl/style/expression/parsing_context.cpp index 8dd99dd8d0f..acf3e63a48c 100644 --- a/src/mbgl/style/expression/parsing_context.cpp +++ b/src/mbgl/style/expression/parsing_context.cpp @@ -148,6 +148,8 @@ ParseResult ParsingContext::parse(const Convertible& value) const type::Type actual = (*parsed)->getType(); if (*expected == type::Color && (actual == type::String || actual == type::Value)) { parsed = wrapForType(type::Color, std::move(*parsed)); + } else if (expected->is() && actual == type::Value) { + parsed = { std::make_unique(expected->get(), std::move(*parsed)) }; } else if ((*expected == type::String || *expected == type::Number || *expected == type::Boolean) && actual == type::Value) { parsed = wrapForType(*expected, std::move(*parsed)); }