[ 
https://issues.apache.org/jira/browse/THRIFT-5712?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17813896#comment-17813896
 ] 

Paul Wilkinson commented on THRIFT-5712:
----------------------------------------

The protocol tests expect to write null values to all of the primitive types. 
Is this expected behaviour in thrift? I have implemented the primitive types as 
non-nullable. 
{quote}Future<void> primitiveNullTest(Primitive primitive) async {
primitive.write(null);
protocol.writeMessageEnd();

await protocol.transport.flush();

protocol.readMessageBegin();
var output = primitive.read();

expect(output, primitive.defaultValue);
}{quote}
Example tests:
{quote}test('Test I64 null', () async {
await primitiveNullTest(getPrimitive(TType.I64));
});

test('Test double null', () async {
await primitiveNullTest(getPrimitive(TType.DOUBLE));
});{quote}
 

> Add Dart 3 compatibility
> ------------------------
>
>                 Key: THRIFT-5712
>                 URL: https://issues.apache.org/jira/browse/THRIFT-5712
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Dart - Compiler
>    Affects Versions: 0.18.1
>            Reporter: Vlad Koronnov
>            Priority: Major
>
> Dart project generated by thrift has constraints in pubspec.yaml
>  
> {code:java}
> name: dart_client
> version: 0.0.1
> description: Autogenerated by Thrift Compiler
> environment:
>   sdk: '>=2.12.0 <3.0.0' {code}
>  
>  
> And generated code uses uninitialized variables, which can't be used with 
> sound null safety, required by Dart 3.0



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to