From 2da966aa493b9dabafdd036741476da45c80a75c Mon Sep 17 00:00:00 2001 From: Fredrik Ekre Date: Sun, 26 May 2019 13:48:16 +0200 Subject: [PATCH] Fully qualify at-everywhere, fixes JuliaLang/julia#28966. (JuliaLang/julia#32144) --- src/macros.jl | 2 +- test/distributed_exec.jl | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/macros.jl b/src/macros.jl index 4285073..d85e2af 100644 --- a/src/macros.jl +++ b/src/macros.jl @@ -172,7 +172,7 @@ Equivalent to calling `remotecall_eval(Main, procs, expr)`. """ macro everywhere(ex) procs = GlobalRef(@__MODULE__, :procs) - return esc(:(@everywhere $procs() $ex)) + return esc(:($(Distributed).@everywhere $procs() $ex)) end macro everywhere(procs, ex) diff --git a/test/distributed_exec.jl b/test/distributed_exec.jl index 90ecb16..f1f439f 100644 --- a/test/distributed_exec.jl +++ b/test/distributed_exec.jl @@ -1614,6 +1614,18 @@ for T in (UInt8, Int8, UInt16, Int16, UInt32, Int32, UInt64) @test n == 55 end +# issue #28966 +let code = """ + import Distributed + Distributed.addprocs(1) + Distributed.@everywhere f() = myid() + for w in Distributed.workers() + @assert Distributed.remotecall_fetch(f, w) == w + end + """ + @test success(`$(Base.julia_cmd()) --startup-file=no -e $code`) +end + # Run topology tests last after removing all workers, since a given # cluster at any time only supports a single topology. rmprocs(workers())