File tree Expand file tree Collapse file tree 1 file changed +22
-0
lines changed
Expand file tree Collapse file tree 1 file changed +22
-0
lines changed Original file line number Diff line number Diff line change 505505
506506end
507507
508+ @testset " Support for external method tables" begin
509+ ExternalMT = Module ()
510+ Core. eval (ExternalMT, :(Base. Experimental. @MethodTable method_table))
511+ signatures = []
512+
513+ ex = :(Base. sin (:: Float64 ) = " sin" )
514+ Core. eval (ExternalMT, ex)
515+ frame = Frame (ExternalMT, ex)
516+ pc = methoddefs! (signatures, frame; define = false )
517+ @test length (signatures) == 1
518+ (mt, sig) = pop! (signatures)
519+ @test (mt, sig) === (nothing , Tuple{typeof (sin), Float64})
520+
521+ ex = :(Base. Experimental. @overlay method_table sin (:: Float64 ) = " sin" )
522+ Core. eval (ExternalMT, ex)
523+ frame = Frame (ExternalMT, ex)
524+ pc = methoddefs! (signatures, frame; define = false )
525+ @test length (signatures) == 1
526+ (mt, sig) = pop! (signatures)
527+ @test (mt, sig) === (ExternalMT. method_table, Tuple{typeof (sin), Float64})
528+ end
529+
508530end # module signatures
You can’t perform that action at this time.
0 commit comments