duct

scottlowe 2018-11-02T21:07:09.027300Z

@weavejester I have discovered a change in behaviour of #ig/ref between the current stable Duct and Duct beta. I’m not sure if this a bug, or if we were simply abusing some behaviour that should not have worked:

scottlowe 2018-11-02T21:07:33.027400Z

2018-11-02T21:09:50.029100Z

@scottlowe Neither of those is correct! It looks like a bug where I didn't account for refs merged with maps.

2018-11-02T21:10:02.029400Z

Refs and refsets should be treated as atomic values.

scottlowe 2018-11-02T21:16:21.033100Z

@weavejester Okay thanks. The odd thing here (for me) is that the printed config example above that used to work looks wrong when prepped. But at “runtime”, we did get what we expected i.e. a merged hash-map with the value {:baz 1 :corge 3}.

scottlowe 2018-11-02T21:16:40.033500Z

If that makes sense.

2018-11-02T21:17:26.034500Z

Adding extra keys to a ref shouldn't impact how it works, which I think is what you were seeing. Which way around are the configurations being merged?

2018-11-02T21:17:47.034900Z

It's not clear from your example if the ref is being merged into the map, or vice versa.

scottlowe 2018-11-02T21:26:02.038900Z

I should have also mentioned that each subsequent block of example config is merged-in from include files with the intention that keys are merged at the top level of the config so the final qux is also top level. So if I understand your question correctly, yes the ref :foo/bar should be merged into the map :qux. Apologies if that doesn’t make sense - I’m finding this hard to explain. Perhaps I should send you a zipped-up shell of an app to demonstrate?

scottlowe 2018-11-02T21:26:36.039200Z

@weavejester If you think this should be a bug report, I could do that, and report it properly.

2018-11-02T21:43:18.040Z

@scottlowe Sure, an example app would be a great help.

2018-11-02T21:43:33.040300Z

And a bug report would be appreciated too.

scottlowe 2018-11-02T21:44:10.040900Z

Okay. Will do :thumbsup: