clockworklabs/SpacetimeDB · error · InvalidOperationException

Unsupported special type {type} ({type.SpecialType})

Error message

Unsupported special type {type} ({type.SpecialType})

What it means

Error "Unsupported special type {type} ({type.SpecialType})" thrown in clockworklabs/SpacetimeDB.

Source

Thrown at crates/bindings-csharp/BSATN.Codegen/Utils.cs:138

        return type switch
        {
            ITypeParameterSymbol typeParameter => MakeRwTypeParam(typeParameter.Name),
            INamedTypeSymbol namedType => type.SpecialType switch
            {
                SpecialType.System_Boolean => "SpacetimeDB.BSATN.Bool",
                SpecialType.System_SByte => "SpacetimeDB.BSATN.I8",
                SpecialType.System_Byte => "SpacetimeDB.BSATN.U8",
                SpecialType.System_Int16 => "SpacetimeDB.BSATN.I16",
                SpecialType.System_UInt16 => "SpacetimeDB.BSATN.U16",
                SpecialType.System_Int32 => "SpacetimeDB.BSATN.I32",
                SpecialType.System_UInt32 => "SpacetimeDB.BSATN.U32",
                SpecialType.System_Int64 => "SpacetimeDB.BSATN.I64",
                SpecialType.System_UInt64 => "SpacetimeDB.BSATN.U64",
                SpecialType.System_Single => "SpacetimeDB.BSATN.F32",
                SpecialType.System_Double => "SpacetimeDB.BSATN.F64",
                SpecialType.System_String => "SpacetimeDB.BSATN.String",
                SpecialType.None => GetTypeInfoForNamedType(namedType),
                _ => throw new InvalidOperationException(
                    $"Unsupported special type {type} ({type.SpecialType})"
                ),
            },
            IArrayTypeSymbol { ElementType: var elementType } => elementType.SpecialType
            == SpecialType.System_Byte
                ? "SpacetimeDB.BSATN.ByteArray"
                : $"SpacetimeDB.BSATN.Array<{elementType}, {GetTypeInfo(elementType)}>",
            _ => throw new InvalidOperationException($"Unsupported type {type}"),
        };

        static string GetTypeInfoForNamedType(INamedTypeSymbol type)
        {
            if (type.TypeKind == Microsoft.CodeAnalysis.TypeKind.Error)
            {
                throw new UnresolvedTypeException(type);
            }
            if (type.TypeKind == Microsoft.CodeAnalysis.TypeKind.Enum)
            {

View on GitHub (pinned to 524b4487d9)

When it happens

Trigger: Thrown at crates/bindings-csharp/BSATN.Codegen/Utils.cs:138 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of clockworklabs/SpacetimeDB@524b4487d9 (2026-08-16). Data as JSON: /api/errors/0b00830812a88d59. Report an issue: GitHub.