diff src/StaticDicts/StaticDicts.jl @ 741:94941a062124 feature/static_dict

Add tests for constructing empty dicts. Change constructors accordingly
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 17 Mar 2021 22:08:59 +0100
parents e716602f1d62
children ffb71bdb4486
line wrap: on
line diff
--- a/src/StaticDicts/StaticDicts.jl	Wed Mar 17 21:57:55 2021 +0100
+++ b/src/StaticDicts/StaticDicts.jl	Wed Mar 17 22:08:59 2021 +0100
@@ -23,7 +23,7 @@
 struct StaticDict{K,V,N} <: AbstractDict{K,V}
     pairs::NTuple{N,Pair{K,V}}
 
-    function StaticDict{K,V,N}(pairs::Tuple) where {K,V,N}
+    function StaticDict{K,V}(pairs::Vararg{Pair,N}) where {K,V,N}
         if !allunique(first.(pairs))
             throw(DomainError(pairs, "keys must be unique"))
         end
@@ -34,8 +34,7 @@
 function StaticDict(pairs::Vararg{Pair})
     K = typejoin(firsttype.(pairs)...)
     V = typejoin(secondtype.(pairs)...)
-    N = length(pairs)
-    return StaticDict{K,V,N}(pairs)
+    return StaticDict{K,V}(pairs...)
 end
 
 StaticDict(pairs::NTuple{N,Pair} where N) = StaticDict(pairs...)