Substitution fails for nested sections
M0dEx opened this issue · 0 comments
M0dEx commented
Description
Hi!
We have come across an issue where pyhocon is unable to resolve a nested substitution that should be resolvable, according to the HOCON specification.
Example
base.conf
:
foo {
foo-inner {
pre-foo = 1
foo-sub = ${foo.foo-inner.pre-foo}${foo.foo-inner.bar}
}
}
bar {
bar-inner {
foo-sub = ${foo.foo-inner.foo-sub}
}
}
child.conf
:
include required("base.conf")
foo {
foo-inner {
bar = 1
}
}
Expected result
foo {
foo-inner {
pre-foo = 1
foo-sub = 11
bar = 1
}
}
bar {
bar-inner {
foo-sub = 11
}
}
Actual result
pyhocon.exceptions.ConfigSubstitutionException: Cannot resolve ${foo.foo-inner.foo-sub}: (line: 10, col: 15). Check for cycles.
If the variables are moved from (foo/bar)-inner
to (foo/bar)
, the substitution works as expected.