diff --git a/src/julia-syntax.scm b/src/julia-syntax.scm index aaf07bca7d74a..c8837d90c6d41 100644 --- a/src/julia-syntax.scm +++ b/src/julia-syntax.scm @@ -2714,7 +2714,7 @@ f(x) = yt(x) ((eq? (car ex) 'method) (and (length> ex 2) (assq v (cadr (lam:vinfo (cadddr ex)))))) - (else #f))) + (else (expr-contains-eq v ex)))) (assert (eq? (car lam) 'lambda)) (let ((vi (car (lam:vinfo lam)))) (if (and (any vinfo:capt vi) diff --git a/test/core.jl b/test/core.jl index 66ba2ef72368f..d0295b804d87b 100644 --- a/test/core.jl +++ b/test/core.jl @@ -4484,3 +4484,10 @@ for (f,g) in ((:asin,:sin), (:acos,:cos)) f18085(::Type{Val{f}},x...) = map(x->2gx(x), f18085(Val{g},x...)) end @test f18085(Val{:asin},3) === (0.0,) + +# issue #18173 +function f18173() + identity(()->successflag) + successflag = false +end +@test f18173() == false