Describe the bug
When I define a custom resolver with a new interpolation in it, it seems like the resolving behavior differs, depending which function I use. If this is intended, please explain why.
If resolve would just do that, it would be fine, because then I can simply resolve twice.
My goal result is:
key:
a: 1
b: 2
test:
first: 1
second: 2
which I can achieve at the moment with OmegaConf.to_object(OmegaConf.create(OmegaConf.to_object(config))), but this is no good solution because of the unneccessary loading.
Expected behavior
I would expect, that the functions behave the same-
Describe the bug When I define a custom resolver with a new interpolation in it, it seems like the resolving behavior differs, depending which function I use. If this is intended, please explain why.
To Reproduce Resolver:
I load some yaml in, containing the resolver:
Now if I resolve the config with
OmegaConf.resolve()
I getomegaconf.errors.UnsupportedValueType: Value 'dict' is not a supported primitive type
.With
OmegaConf.to_object()
I get the EXPECTED result:If
resolve
would just do that, it would be fine, because then I can simply resolve twice. My goal result is:which I can achieve at the moment with
OmegaConf.to_object(OmegaConf.create(OmegaConf.to_object(config)))
, but this is no good solution because of the unneccessary loading.Expected behavior I would expect, that the functions behave the same-
Additional context