lib.types: move variable to its usage, don't check condition twice
The only place `merged` is used already checks if `coercedType.merge ? v2`, so we don't need to check it again. We can also avoid creating the variable if coercedTypes.merge doesn't have a v2 attribute.
This commit is contained in:
+8
-12
@@ -1617,19 +1617,15 @@ rec {
|
||||
def
|
||||
// {
|
||||
value =
|
||||
let
|
||||
merged =
|
||||
if coercedType.merge ? v2 then
|
||||
checkV2MergeCoherence loc coercedType (
|
||||
coercedType.merge.v2 {
|
||||
inherit loc;
|
||||
defs = [ def ];
|
||||
}
|
||||
)
|
||||
else
|
||||
null;
|
||||
in
|
||||
if coercedType.merge ? v2 then
|
||||
let
|
||||
merged = checkV2MergeCoherence loc coercedType (
|
||||
coercedType.merge.v2 {
|
||||
inherit loc;
|
||||
defs = [ def ];
|
||||
}
|
||||
);
|
||||
in
|
||||
if merged.headError == null then coerceFunc def.value else def.value
|
||||
else if coercedType.check def.value then
|
||||
coerceFunc def.value
|
||||
|
||||
Reference in New Issue
Block a user