This commit is contained in:
Kristin Laemmert 2019-06-04 11:54:26 -04:00
parent 30a924e162
commit c163ba71db
1 changed files with 2 additions and 13 deletions

View File

@ -800,14 +800,7 @@ var MatchkeysFunc = function.New(&function.Spec{
}, },
}, },
Type: func(args []cty.Value) (cty.Type, error) { Type: func(args []cty.Value) (cty.Type, error) {
// Verify that args[1] (keys) and args[2] (searchset) are of the same ty, _ := convert.UnifyUnsafe([]cty.Type{args[1].Type(), args[2].Type()})
// (or unifiable) type
argTypes := make([]cty.Type, 2)
for i := 0; i < 2; i++ {
argTypes[i] = args[i+1].Type()
}
ty, _ := convert.UnifyUnsafe(argTypes)
if ty == cty.NilType { if ty == cty.NilType {
return cty.NilType, errors.New("keys and searchset must be of the same type") return cty.NilType, errors.New("keys and searchset must be of the same type")
} }
@ -830,11 +823,7 @@ var MatchkeysFunc = function.New(&function.Spec{
// Keys and searchset must be the same type. // Keys and searchset must be the same type.
// We can skip error checking here because we've already verified that // We can skip error checking here because we've already verified that
// they can be unified in the Type function // they can be unified in the Type function
argTypes := make([]cty.Type, 2) ty, _ := convert.UnifyUnsafe([]cty.Type{args[1].Type(), args[2].Type()})
for i := 0; i < 2; i++ {
argTypes[i] = args[i+1].Type()
}
ty, _ := convert.UnifyUnsafe(argTypes)
keys, _ := convert.Convert(args[1], ty) keys, _ := convert.Convert(args[1], ty)
searchset, _ := convert.Convert(args[2], ty) searchset, _ := convert.Convert(args[2], ty)