Skip to content

Unable to process inline group component during message gen #19

@kskalski

Description

@kskalski

Coinbase spec (https://docs.cloud.coinbase.com/downloads/exchange/cb_exch_fix_dictionaries-latest.tar.gz) has some messages specifed with group that doesn't correspond to any explicit component, e.g.

        <message name='MarketDataRequest' msgtype='V' msgcat='app'>
            <field name='MDReqID' required='Y'/>
            <field name='SubscriptionRequestType' required='Y'/>
            <group name='NoRelatedSym' required='Y'>
                <field name='Symbol' required='Y'/>
            </group>
        </message>

this fails generation with error

thread 'main' panicked at easyfix-messages/easyfix-messages-gen/src/gen.rs:39:22:
  unknown component: Member { name: "NoRelatedSym", required: true, kind: Component }

I was able to work it around by changing such groups into

        <message name='MarketDataRequest' msgtype='V' msgcat='app'>
            <field name='MDReqID' required='Y'/>
            <field name='SubscriptionRequestType' required='Y'/>
            <component name="MDRSymbols" required='Y' />
        </message>
...
    <components>
        <component name="MDRSymbols">
            <group name='NoRelatedSym' required='Y'>
                <field name='Symbol' required='Y'/>
            </group>
        </component>
...

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions