Skip to content

Commit 84ec692

Browse files
authored
void a Core.Box in kwmethod_basename and test package is empty of such boxes (#152)
1 parent 3819238 commit 84ec692

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

src/utils.jl

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -294,22 +294,23 @@ function kwmethod_basename(meth::Method)
294294
mtch = match(r"^#+(.*)#", sname)
295295
end
296296
name = mtch === nothing ? name : Symbol(only(mtch.captures))
297-
ftypname = Symbol(string('#', name))
297+
name_final = name
298+
ftypname = Symbol(string('#', name_final))
298299
idx = findfirst(Base.unwrap_unionall(meth.sig).parameters) do @nospecialize(T)
299300
if isa(T, DataType)
300301
Tname = T.name.name
301302
if Tname === :Type
302303
p1 = Base.unwrap_unionall(T.parameters[1])
303304
Tname = isa(p1, DataType) ? p1.name.name :
304305
isa(p1, TypeVar) ? p1.name : error("unexpected type ", typeof(p1), "for ", meth)
305-
return Tname == name
306+
return Tname == name_final
306307
end
307308
return ftypname === Tname
308309
end
309310
false
310311
end
311-
idx === nothing && return name, 0
312-
return name, idx
312+
idx === nothing && return name_final, 0
313+
return name_final, idx
313314
end
314315

315316
"""

test/runtests.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ end
1313

1414
isdefined(Main, :Revise) ? Main.Revise.includet("script.jl") : include("script.jl")
1515

16+
if isdefined(Test, :detect_closure_boxes)
17+
@test isempty(Test.detect_closure_boxes(CodeTracking))
18+
end
19+
1620
@testset "CodeTracking.jl" begin
1721
m = first(methods(f1))
1822
file, line = whereis(m)

0 commit comments

Comments
 (0)