diff --git a/src/utilities/utilities.jl b/src/utilities/utilities.jl index 6923259e79..0cb29f9f95 100644 --- a/src/utilities/utilities.jl +++ b/src/utilities/utilities.jl @@ -122,6 +122,13 @@ function _process_service_features(args, defaults) end end - # Turn the feature dictionary into a `NamedTuple` expression - return Expr(:tuple, Expr(:parameters, [Expr(:kw, p...) for p in feature_dict]...)) + # Turn the feature dictionary into a `NamedTuple` expression. Note: Julia 1.4 and below + # do not support `:((;))`. + nt = if !isempty(feature_dict) + Expr(:tuple, Expr(:parameters, [Expr(:kw, p...) for p in feature_dict]...)) + else + :(NamedTuple()) + end + + return nt end diff --git a/test/utilities.jl b/test/utilities.jl index 0b2633c861..07436484d7 100644 --- a/test/utilities.jl +++ b/test/utilities.jl @@ -86,4 +86,10 @@ end default_feats = [:a => false] @test_throws ArgumentError AWS._process_service_features(user_feats, default_feats) end + + @testset "no defaults" begin + user_feats = [] + default_feats = [] + @test AWS._process_service_features(user_feats, default_feats) == :(NamedTuple()) + end end