Right now, our config rendering cannot handle childless non-leaf nodes. It always renders them as if they were valueless nodes:
utop # Vyos1x.Parser.from_string {| system { /* This is a non-leaf childless node */ login { } } |} |> Vyos1x.Config_tree.render_config |> Printf.printf "Rendered config:\n\n%s\n" ;; Rendered config: system { /* This is a non-leaf childless node */ login } - : unit = ()
That can cause incorrect behavior and, and even when it doesn't, it's still wrong and breaks the expectation that parsed configs will be rendered exactly as they came.