dtolnay/serde-yaml

`apply_merge` doesn't merge recursively

victordidenko opened this issue · 0 comments

let yaml_string = "\
a: &a
  a: a
b: &b
  <<: *a
c:
  - <<: *a
  - <<: *b
";
let mut yaml: serde_yaml::Value = serde_yaml::from_str(yaml_string).unwrap();
yaml.apply_merge().unwrap();
println!("{}", serde_yaml::to_string(&yaml).unwrap());

outputs

a:
  a: a
b:
  a: a
c:
- a: a
- <<:
    a: a

while it should be

a:
  a: a
b:
  a: a
c:
- a: a
- a: a