Skip to content

It failed to build when there's a "bytes" field in the "oneof" #171

@xy02

Description

@xy02
message Frame {
    oneof type {
        bytes buf = 1;
    }
}

Reports:

Failed to serialize property Buf : System.Byte. error : System.ArgumentException: Type mismatch when building 'f': function argument type doesn't match. Expected 'System.Byte', but received type 'System.ArraySegment`1[System.Byte]'. (Parameter 'receivedType') [/home/xy02/f#/ritp/ritp.fsproj]
     at Microsoft.FSharp.Quotations.PatternsModule.checkTypesSR[a](Type expectedType, Type receivedType, a name, String threeHoleSR)
     at Microsoft.FSharp.Quotations.PatternsModule.checkAppliedLambda(FSharpExpr f, FSharpExpr v)
     at Microsoft.FSharp.Quotations.PatternsModule.mkApplication(FSharpExpr v_0, FSharpExpr v_1)
     at Microsoft.FSharp.Quotations.FSharpExpr.Application(FSharpExpr functionExpr, FSharpExpr argument)
     at Microsoft.FSharp.Collections.SeqModule.Fold[T,TState](FSharpFunc`2 folder, TState state, IEnumerable`1 source)
     at Falanx.Proto.Codec.Binary.Serialization.serializeProperty(FSharpExpr buffer, FSharpExpr this, PropertyDescriptor prop) in D:\a\1\s\src\Falanx.Proto.Core\BinaryCodec\Serialization.fs:line 117

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions