Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Crash if inherited property is structurally equal but not reference identical

Abierto
#482 0 comentarios 0 reacciones 1 asignado Ver en GitHub

@mikeharder ya está trabajando en esto.

Desde el 6/5/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

If a definition defines a property, and inherits from another definition that also defines the property:

  • If the properties are reference identical, it's allowed
  • If the properties are equivalent (but not reference identical), the tool crashes

Organic PRs hitting problem

Test Cases

Pass - Reference Identical
{
  "swagger": "2.0",
  "info": {
    "title": "structural-equality",
    "version": "1.0"
  },
  "paths": {},
  "definitions": {
    "Foo": {
      "type": "object",
      "properties": {
        "bar": {
          "$ref": "#/definitions/MyObject"
        }
      },
      "allOf": [
        {
          "$ref": "#/definitions/Foo2"
        }
      ]
    },
    "Foo2": {
      "type": "object",
      "properties": {
        "bar": {
          "$ref": "#/definitions/MyObject"
        }
      }
    },
    "MyObject": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    }
  }
}
Fail - Structurally Equal
{
  "swagger": "2.0",
  "info": {
    "title": "structural-equality",
    "version": "1.0"
  },
  "paths": {},
  "definitions": {
    "Foo": {
      "type": "object",
      "properties": {
        "bar": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "allOf": [
        {
          "$ref": "#/definitions/Foo2"
        }
      ]
    },
    "Foo2": {
      "type": "object",
      "properties": {
        "bar": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    }
  }
}
Error
    incompatible properties : bar
      definitions/Foo/properties/bar
        at file:///home/mharder/openapi-diff-mh/incompat-prop/src/test/specs/incompatible-properties/structural-equality-fail.json#L12:8
      definitions/Foo2/properties/bar
        at file:///home/mharder/openapi-diff-mh/incompat-prop/src/test/specs/incompatible-properties/structural-equality-fail.json#L28:8
Lenguaje dominante
C#
Estrellas
290
Forks
50
Merge medio
2 d 21 h
PR fusionados (30 d)
10

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Azure/openapi-diff

Todos los issues de Azure/openapi-diff

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.