module Pass_subtree_growth = (* Make sure that a subtree that is not the lowest one does indeed *) (* grow the tree, instead of just setting the label of an enclosed *) (* subtree. This is only a problem if the enclosed subtree does *) (* not have a label *) let lns = [ label "outer" . [ store /a/ ] ] (* The improper result is { "outer" = "a" } *) test lns get "a" = { "outer" { = "a" } } (* This produces a tree { "outer" = "b" { = "a" } } *) (* but the value for "outer" is never used in put *) (* (That should probably be flagged as an error separately) *) test lns put "a" after set "outer" "b" = "a" (* Local Variables: *) (* mode: caml *) (* End: *)