Crash if inherited property is structurally equal but not reference identical
@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
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Azure/openapi-diff
-
Azure/openapi-diff#479 · 2 comentarios · 1 asignado ·
-
Remove dependency `autorest` Abierto
Azure/openapi-diff#456 · 1 asignado ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
Azure/openapi-diff#445 ·
-
Azure/openapi-diff#371 · 7 comentarios · 1 asignado ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
Azure/openapi-diff#364 · 4 comentarios ·
Todos los issues de Azure/openapi-diff
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
nightscout/nocturne#1425 ·
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
cake-build/cake#5024 ·
-
Gå gjennom ESLint-suppressions AbiertoFrontend status/draft TechnicalDebt
Dificultad 2/5 1-2 días Aptitud para principiantes 75/100
Altinn/altinn-auth#4143 ·