diff --git a/lang/funcs/collection.go b/lang/funcs/collection.go index 71b7a8466..1257895e3 100644 --- a/lang/funcs/collection.go +++ b/lang/funcs/collection.go @@ -363,6 +363,9 @@ var DistinctFunc = function.New(&function.Spec{ } } + if len(list) == 0 { + return cty.ListValEmpty(retType.ElementType()), nil + } return cty.ListVal(list), nil }, }) diff --git a/lang/funcs/collection_test.go b/lang/funcs/collection_test.go index d1a543797..e408d385b 100644 --- a/lang/funcs/collection_test.go +++ b/lang/funcs/collection_test.go @@ -901,6 +901,11 @@ func TestDistinct(t *testing.T) { }), false, }, + { + cty.ListValEmpty(cty.String), + cty.ListValEmpty(cty.String), + false, + }, { cty.ListVal([]cty.Value{ cty.StringVal("a"),