oxidecomputer / oxidecomputer/typify

Sub-types naming conflicts

Open
#695 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
898
Forks
114
Avg merge
4h 18m
Merged PRs (30d)
14

Description

The following definitions will result in both an Enum and a Struct named AaBb:

"Aa": {
  "properties": {
    "bb": {
      "anyOf": [
        {
          "$ref": "#/definitions/AaBb"
        },
        {
          "type": "string"
        }
      ]
    }
  }
},
"AaBb": {
  "enum": [
    "A",
    "B"
  ],
  "type": "string"
}

We might need an alternative way to name types in types. Maybe AaSubBb or AaBbProp, idk.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the conflicting JSON Schema example in the issue and trace how names are assigned to the referenced subtype and enum. Define a naming approach that prevents the generated Enum and Struct from sharing a name, then verify it against this schema and related naming cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
compilers
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.