Hi Phil,

Wouldn't you just write this without the back reference to the deprecated/obsolete leaf.

E.g. wouldn't the following be sufficient to enforce the desired constraint?

    leaf old-stuff {
        status deprecated;
        must not(../new-stuff);
    }
    leaf new-stuff {
    }

Thanks,
Rob


On 18/01/2017 21:32, Phil Shafer wrote:
Martin Bjorklund writes:
But marking definition as obsolete in one module cannot automatically
make definitions in *other* modules obsolete.

(*) _maybe_ 7950 can be interpreted in this way when it says:

   If a definition is "current", it MUST NOT reference a "deprecated" or
   "obsolete" definition within the same module

If you're in a good mood, you could argue that a child always
"references" its parent.
That's a massively deforming interpretation of "references".

I'm not even sure this is a good rule at all.  Consider:

     leaf old-stuff {
         status deprecated;
         must not(../new-stuff);
     }
     leaf new-stuff {
         must not(../old-stuff);
     }

My new-stuff definitely references old-stuff which is deprecated,
but this is a _good_ data model and should not be "MUST NOT"d out
of existence.

Thanks,
  Phil
.


_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to