评论者:jafingerhut
Edward,您的补丁用m1替换了表达式(或m1 {}),它在2008年10月16日的一个提交中被从m1更改为(或m1 {}),带注释文本“改进merge、merge-with中的nil处理”,因此我非常确定最好将其保留为(或m1 {})。我相信意图是允许merge-with的所有但一个map参数为nil,并且一切仍然可以正常工作。
避免单个merge调用的其余补丁在我看来似乎是合理的。
如果它不使用第一个map调用,而是使用列表中的第一个非nil项调用,然后使用列表中的其余项,那么您的更改将更好地保留第一个非nil map上的任何元数据。