[ https://issues.apache.org/jira/browse/THRIFT-1532?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13223591#comment-13223591 ]
Björn Bylander commented on THRIFT-1532: ---------------------------------------- I've added agent.tar.gz. Unpack and then compile using "rebar compile". "dialyzer ebin" outputs the following: agent_service.erl:34: Function 'GetSomeStruct'/0 has no local return agent_service.erl:35: Record construction #someStruct{id::42} violates the declared type of field anI32::integer() Unknown functions: thrift_server:start_link/3 thrift_server:stop/1 done in 0m0.61s done (warnings were emitted) Removing the undefined default value from the "anI32" field in agent_types.hrl removes the Dialyzer error. > 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, agent.tar.gz > > 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