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

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

You can assign this to me [~vladimir.koronnov]. I will need to discuss 
semantics with somebody. 

The design I am considering atm is ...

Required fields will not be nullable. Optional fields will be nullable. Setting 
optional fields to null them to null “unsets” them. For required fields you 
have to call the upsetter method to unset them.

Add an __isset struct like in the cpp generator but it will only contain 
required fields.

I would prefer to remove the generic field getters and setters as I am not sure 
I can make them work with null values. I don't understand their purpose and the 
cpp generated code doesn't have them. I will investigate if they are required. 
 
 

> 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