[ https://issues.apache.org/jira/browse/THRIFT-1532?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13222514#comment-13222514 ]
Björn Bylander commented on THRIFT-1532: ---------------------------------------- I'll get back to you with an example .thrift file. Regarding using undefined as a default value: Yes, you could remove it as a default value but you still need to support it as a valid value at least for struct/record fields as any uninitialized fields are set to undefined by Erlang and it's really nice to allow undefined record fields. > The type specifications in the generated Erlang code should include > "undefined" where it's used as a default value > ------------------------------------------------------------------------------------------------------------------ > > Key: THRIFT-1532 > URL: https://issues.apache.org/jira/browse/THRIFT-1532 > Project: Thrift > Issue Type: Improvement > Components: Erlang - Compiler > Affects Versions: 0.8 > Environment: Erlang/OTP R15B. > Reporter: Björn Bylander > Assignee: Anthony Molinaro > Priority: Minor > Labels: compiler, dialyzer, erlang, specification, type > Attachments: THRIFT-1532_type_allows_undefined.patch > > Original Estimate: 1h > Remaining Estimate: 1h > > The Erlang code generated by the compiler for, for example, an integer field > of a struct sets a default value of 'undefined' but the type to just > 'integer()' which doesn't include the default value. This makes Dialyzer > complain if the field has not been initialized as it gets set to 'undefined' > instead of an integer value. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira