From 7baf7a16f8cb55638069b12ab38bd587abed4fcf Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Wed, 3 Jun 2026 11:25:21 -0300 Subject: [PATCH] Improve code prevenance for @autoreleasepool functions --- src/foundation.jl | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/foundation.jl b/src/foundation.jl index 5d1555c..c91021e 100644 --- a/src/foundation.jl +++ b/src/foundation.jl @@ -628,11 +628,11 @@ macro autoreleasepool(ex...) # function definition, short form sig, body = code.args @assert Meta.isexpr(body, :block) - managed_body = quote - $f() do + managed_body = Expr(:block, __source__, + :($f() do $body - end - end + end) + ) esc(Expr(:(=), sig, managed_body)) elseif Meta.isexpr(code, :function) # function definition, long form @@ -640,11 +640,11 @@ macro autoreleasepool(ex...) @assert Meta.isexpr(sig, :call) || Meta.isexpr(sig, :where) body = code.args[2] @assert Meta.isexpr(body, :block) - managed_body = quote - $f() do + managed_body = Expr(:block, __source__, + :($f() do $body - end - end + end) + ) esc(Expr(:function, sig, managed_body)) else # code block