SIGN IN SIGN UP

feat(settings): add QVariant union types (#2027)

* feat(settings): add union codec

Also move codec to descriptors instead of fetching at runtime

* fix(settings): clear allowed types on codec get fail

* fix(settings): warn on invalid type for unions from qml setters

* fix(settings): use template instead of constexpr

constexpr doesn't drop the branch in non template functions, so the
build will fail due to a type mismatch (Type -> QVariant when Type is
not QVariant)

* refactor(settings): drop matrix for mismatch messages

Instead use individual messages with context and compose them

* feat(settings): enforce bounds of union types at compile time

Also rename tlist -> unionTypes

* feat(settings): output proper diagnostics for unions

Print every allowed type on mismatch instead of the first type

* fix(settings): only ignore non nested type mismatches
2
2 * r + 2 * t committed
387dc98705c573ef269c882c49378e294f55c3b9
Parent: 9245237
Committed by GitHub <noreply@github.com> on 9/17/2026, 6:05:41 AM