[
https://issues.apache.org/jira/browse/THRIFT-6061?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jens Geyer updated THRIFT-6061:
-------------------------------
Issue Type: Improvement (was: Bug)
> Capability for recursive structs missing
> ----------------------------------------
>
> Key: THRIFT-6061
> URL: https://issues.apache.org/jira/browse/THRIFT-6061
> Project: Thrift
> Issue Type: Improvement
> Components: D - Compiler
> Reporter: Jens Geyer
> Priority: Major
>
> Today the D code generation is not possible with recursive structures.
> For example test/Recursive.thrift it would produce code like
> {code}
> struct CoRec {
> CoRec2 other;
> }
> struct CoRec2 {
> CoRec other;
> }
> void main()
> {
> }
> {code}
> Which gives
> {code}
> onlineapp.d(6): Error: struct `onlineapp.CoRec` no size because of forward
> reference
> CoRec other;
> ^
> {code}
> Reason is that D uses structs which (in most/all languages) are embedded and
> thus donot allow such constructs. Unfortunately thne D compiler does not
> offer any option to switch to classes instead nmor to circumvent the issue in
> otehr ways.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)