Page MenuHomePhabricator

TemplateData: Inheritance is not recursive
Open, LowPublic


Was testing some inheritance, and when I've removed a label, it's still in the output:


"description": "Testing inheritance",
"params": {
        "a": {
                "label": "A",
                "description": "aaa",
                "required": true,
                "inherits": "b"
        "b": {
                "required": true,
                "inherits": "c"
        "c": {
                "required": true,
                "inherits": "d"
        "d": {
                "label": "D",
                "required": true,
                "inherits": "a"


results in

tested on

Version: unspecified
Severity: normal



Event Timeline

bzimport raised the priority of this task from to High.Nov 22 2014, 1:50 AM
bzimport added a project: TemplateData.
bzimport set Reference to bz50427.
AzaToth created this task.Jun 29 2013, 5:25 PM
Krinkle lowered the priority of this task from High to Low.May 8 2015, 4:14 AM

Suggesting wontfix. Inheritance is intended to work only one level deep.

In the given example "a" is inheriting "b" without problems. It inherits the "required" property from "b". In this case a local property in "a" shadows it, but that should not cause an error.

We could implement an error raised when an author specifies inheritance from a parameter with no inheritable properties, but that wouldn't help in this case.

Krenair renamed this task from TemplateData: Error during inheritance test to TemplateData: Inheritance is not recursive.Jan 13 2016, 6:20 AM
Krenair set Security to None.
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptJan 13 2016, 6:20 AM