Skip to content

Commit

Permalink
Merge pull request #24 from JuliaLang/sjk/zip-dict
Browse files Browse the repository at this point in the history
Fix #18
  • Loading branch information
simonster committed Dec 4, 2014
2 parents 45140ea + c63dc99 commit ede315c
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 0 deletions.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,7 @@ Currently, the `@compat` macro supports the following syntaxes:
* `itrunc`, `iround`, `iceil`, `ifloor` are now accessed via `trunc(T, x)`, etc. [#9133](https://github.com/JuliaLang/julia/pull/9133)

* `Base.Random.randmtzig_exprnd` is now `randexp` [#9144](https://github.com/JuliaLang/julia/pull/9144)

## Other syntax changes

* `Dict(ks, vs)` is now `Dict(zip(ks, vs))` [#8521](https://github.com/JuliaLang/julia/pull/8521)
4 changes: 4 additions & 0 deletions src/Compat.jl
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ if VERSION < v"0.4.0-dev+980"
macro AnyDict(pairs...)
esc(Expr(:typed_dict, :(Any=>Any), pairs...))
end

Base.Dict(kv) = dict_with_eltype(kv, eltype(kv))
dict_with_eltype{K,V}(kv, ::Type{(K,V)}) = Dict{K,V}(kv)
dict_with_eltype(kv, t) = Dict{Any,Any}(kv)
else
macro Dict(pairs...)
esc(Expr(:call, :Dict, pairs...))
Expand Down
3 changes: 3 additions & 0 deletions test/runtests.jl
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,9 @@ d2[:a] = Dict{Symbol,Int}()
d2[:a][:b] = 1
@test @compat(Dict(:a => Dict(:b => 1))) == d2

d = Dict(zip([1, 2], [3, 4]))
@test d == @compat Dict(1=>3, 2=>4)

@compat function f()
a = :a
b = Dict(:b => 1)
Expand Down

0 comments on commit ede315c

Please sign in to comment.