Support multi-level IDL chained structs

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 8.3.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Server Programmability
    • Fully Compatible
    • Programmability 2025-08-04, Programmability 2025-08-18, Programmability 2025-09-01
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Currently, it is not supported to have more than one level of chained structs in IDLs. There does not seem to be a particular reason for such limitation other than avoiding to have to check for circular dependencies.

      This arbitrary limitation is providing developers from using IDLs for some trivial use cases as the one from the example below:

      struct:
          Base:
              description: "..."
              fields:
                  a:
                      description: "a"
                      type: int
          
          Specialization:
              description: "..."
              chained_structs:
                  Base: Base
              fields:
                  b:
                      description: "b"
                      type: int
      
           SpecializationOfSpecialization:
              description: "..."
              chained_structs:
                  Specialization: Specialization
      

      With the above code, the IDL generator returns the following error: Struct 'SpecializationOfSpecialization' is not allowed to nest struct 'Specialization' since it has chained structs and/or types.

            Assignee:
            Alex Li
            Reporter:
            Pierlauro Sciarelli
            Votes:
            0 Vote for this issue
            Watchers:
            13 Start watching this issue

              Created:
              Updated:
              Resolved: