@@ -18,31 +18,42 @@ let infos = Any[]
1818    @test  isempty (parents)
1919end 
2020
21+ make_cfunction () =  @cfunction (+ , Float64, (Int64,Int64))
22+ 
2123#  use TRIM_UNSAFE to bypass verifier inside typeinf_ext_toplevel
22- let  infos =  typeinf_ext_toplevel (Any[Core. svec (Base. SecretBuffer, Tuple{Type{Base. SecretBuffer}})], [Base. get_world_counter ()], TRIM_UNSAFE)
23-     @test_broken  length (infos) >  4 
24+ let  infos =  typeinf_ext_toplevel (Any[Core. svec (Ptr{Cvoid}, Tuple{typeof (make_cfunction)})], [Base. get_world_counter ()], TRIM_UNSAFE)
2425    errors, parents =  get_verify_typeinf_trim (infos)
2526    @test_broken  isempty (errors) #  missing cfunction
26-     # resize!(infos, 4)
27-     # errors, = get_verify_typeinf_trim(infos)
2827
2928    desc =  only (errors)
3029    @test  desc. first
3130    desc =  desc. second
3231    @test  desc isa  CallMissing
33-     @test  occursin (" finalizer " . desc)
32+     @test  occursin (" cfunction " . desc)
3433    repr =  sprint (verify_print_error, desc, parents)
3534    @test  occursin (
36-         r""" ^unresolved finalizer registered  from statement \(  Core.finalizer \)\( Base.final_shred!, %new \(\ )Base.SecretBuffer \) :: Nothing
35+         r""" ^unresolved cfunction  from statement \$\(  Expr \( :cfunction, Ptr{Nothing}, : \(\$\( QuoteNode \(\+\)\)\) , Float64, : \( svec \( Int64, Int64 \ )Core.SimpleVector \) , : \( :ccall \)\)\) ::Ptr{ Nothing} 
3736            Stacktrace: 
38-              \[ 1\]  finalizer\( f::typeof\( Base.final_shred!\) , o::Base.SecretBuffer\)  
39-                @ Base gcutils.jl:(\d +) \[ inlined\]  
40-              \[ 2\]  Base.SecretBuffer\( ; sizehint::Int\d\d\)  
41-                @ Base secretbuffer.jl:(\d +) \[ inlined\]  
42-              \[ 3\]  Base.SecretBuffer\(\)  
43-                @ Base secretbuffer.jl:(\d +) 
37+              \[ 1\]  make_cfunction\(\) """  , repr)
38+ 
39+     resize! (infos, 1 )
40+     @test  infos[1 ] isa  Core. SimpleVector &&  infos[1 ][1 ] isa  Type &&  infos[1 ][2 ] isa  Type
41+     errors, parents =  get_verify_typeinf_trim (infos)
42+     desc =  only (errors)
43+     @test  ! desc. first
44+     desc =  desc. second
45+     @test  desc isa  CCallableMissing
46+     @test  desc. rt ==  Ptr{Cvoid}
47+     @test  desc. sig ==  Tuple{typeof (make_cfunction)}
48+     @test  occursin (" unresolved ccallable" . desc)
49+     repr =  sprint (verify_print_error, desc, parents)
50+     @test  repr ==  " unresolved ccallable for Tuple{$(typeof (make_cfunction)) } => Ptr{Nothing}\n\n " 
51+ end 
4452
45-             $"""  , repr)
53+ let  infos =  typeinf_ext_toplevel (Any[Core. svec (Base. SecretBuffer, Tuple{Type{Base. SecretBuffer}})], [Base. get_world_counter ()], TRIM_UNSAFE)
54+     @test  length (infos) >  4 
55+     errors, parents =  get_verify_typeinf_trim (infos)
56+     @test  isempty (errors)
4657
4758    resize! (infos, 1 )
4859    @test  infos[1 ] isa  Core. SimpleVector &&  infos[1 ][1 ] isa  Type &&  infos[1 ][2 ] isa  Type
0 commit comments