config icon indicating copy to clipboard operation
config copied to clipboard

Fix bug with substitutions in Config.resolveWith

Open liljencrantz opened this issue 5 years ago • 1 comments

This is a fix for Issue 664

When calling Config.resolveWith on a node with a deferred merge, in a direct decentant of the root node, an exception would always be thrown when trying to perform a substitution.

This patch contains several test, most of which previously failed, as well as a small patch that fixes the problem.

Sadly, my confidence in the patch is a bit on the low side; I don't fully understand how the ResolveSource class is supposed to work. I have simply uncommented a "return this" and removed a throwing of an exception. I'm guessing there might have been a reason wy that exception was thrown in the first place. Sadly, the commit which changed this behaviour (0a20b9ad73da7d9359bfab511db710a18072bd65), seems to be a from-scratch rewrite of the substitution resolver, so it's not possible to see in the code why this code changed in this way.

This patch does not break any additional tests.

liljencrantz avatar Jan 23 '20 15:01 liljencrantz

At least one pull request committer is not linked to a user. See https://help.github.com/en/articles/why-are-my-commits-linked-to-the-wrong-user#commits-are-not-linked-to-any-user

lightbend-cla-validator avatar Jan 23 '20 15:01 lightbend-cla-validator

We do not intend to extend the functionality of "Typesafe Config" further. See https://github.com/lightbend/config#maintained-by

ennru avatar Jul 06 '23 08:07 ennru