Package evaluation to test JuliaInterpreter on Julia 1.14.0-DEV.3071 (c76331c927*) started at 2026-08-30T12:39:00.253 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 15.03s ################################################################################ # Installation # Installing JuliaInterpreter... Resolving package versions... Updating `~/.julia/environments/v1.14/Project.toml` [aa1ae85d] + JuliaInterpreter v0.11.4 Updating `~/.julia/environments/v1.14/Manifest.toml` [da1fd8a2] + CodeTracking v3.0.2 [aa1ae85d] + JuliaInterpreter v0.11.4 [2a0f44e3] + Base64 v1.11.0 [ade2ca70] + Dates v1.11.0 [7b1f6079] + FileWatching v1.11.0 [b77e0a4c] + InteractiveUtils v1.11.0 [ac6e5ff7] + JuliaSyntaxHighlighting v1.13.0 [d6f4376e] + Markdown v1.11.0 [de0858da] + Printf v1.11.0 [3fa0cd96] + REPL v1.11.0 [9a3f8284] + Random v1.11.0 [ea8e919c] + SHA v1.13.0 [6462fe0b] + Sockets v1.11.0 [f489334b] + StyledStrings v1.13.0 [cf7118a7] + UUIDs v1.11.0 [4ec0a83e] + Unicode v1.11.0 Installation completed after 1.2s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling project... 2.7 s ✓ HostCPUFeatures 1.3 s ✓ StaticArrayInterface → StaticArrayInterfaceOffsetArraysExt 18.8 s ✓ VectorizationBase 3.0 s ✓ SLEEFPirates 34.5 s ✓ LoopVectorization 5 dependencies successfully precompiled in 61 seconds. 92 already precompiled. Precompilation completed after 86.23s ################################################################################ # Testing # Testing JuliaInterpreter Status `/tmp/jl_nYdVth/Project.toml` [4c88cf16] Aqua v0.8.16 [d78b62d4] CassetteOverlay v0.2.6 [da1fd8a2] CodeTracking v3.0.2 [a93c6f00] DataFrames v1.8.2 [ab62b9b5] DeepDiffs v1.2.0 [7d51a73a] ExplicitImports v1.15.0 [069b7b12] FunctionWrappers v1.1.3 [aa1ae85d] JuliaInterpreter v0.11.4 [bdcacae8] LoopVectorization v0.12.174 [ade2ca70] Dates v1.11.0 [8ba89e20] Distributed v1.12.0 [b77e0a4c] InteractiveUtils v1.11.0 [37e2e46d] LinearAlgebra v1.14.0 [56ddb016] Logging v1.11.0 [a63ad114] Mmap v1.11.0 [9a3f8284] Random v1.11.0 [ea8e919c] SHA v1.13.0 [2f01184e] SparseArrays v1.13.0 [8dfed614] Test v1.11.0 [cf7118a7] UUIDs v1.11.0 Status `/tmp/jl_nYdVth/Manifest.toml` [79e6a3ab] Adapt v4.7.0 [4c88cf16] Aqua v0.8.16 [4fba245c] ArrayInterface v7.30.0 [62783981] BitTwiddlingConvenienceFunctions v0.1.6 [2a0fbf3d] CPUSummary v0.2.7 [6dd3e646] CassetteBase v0.2.2 [d78b62d4] CassetteOverlay v0.2.6 [fb6a15b2] CloseOpenIntervals v0.1.13 [da1fd8a2] CodeTracking v3.0.2 [f70d9fcc] CommonWorldInvalidations v1.2.0 [34da2185] Compat v4.18.1 [adafc99b] CpuId v0.3.1 [a8cc5b0e] Crayons v4.2.0 [9a962f9c] DataAPI v1.16.0 [a93c6f00] DataFrames v1.8.2 [864edb3b] DataStructures v0.19.6 [e2d170a0] DataValueInterfaces v1.0.0 [ab62b9b5] DeepDiffs v1.2.0 [ffbed154] DocStringExtensions v0.9.5 [7d51a73a] ExplicitImports v1.15.0 [069b7b12] FunctionWrappers v1.1.3 [3e5b6fbb] HostCPUFeatures v0.1.18 [615f187c] IfElse v0.1.1 [842dd82b] InlineStrings v1.4.5 [41ab1584] InvertedIndices v1.3.1 [82899510] IteratorInterfaceExtensions v1.0.0 [aa1ae85d] JuliaInterpreter v0.11.4 [b964fa9f] LaTeXStrings v1.4.1 [10f19ff3] LayoutPointers v0.1.17 [bdcacae8] LoopVectorization v0.12.174 [d125e4d3] ManualMemory v0.1.8 [e1d29d7a] Missings v1.2.0 [6fe1bfb0] OffsetArrays v1.17.0 [bac558e1] OrderedCollections v2.0.1 [1d0040c9] PolyesterWeave v0.2.2 [2dfb63ee] PooledArrays v1.4.3 [aea7be01] PrecompileTools v1.3.4 [21216c6a] Preferences v1.5.2 [08abe8d2] PrettyTables v3.4.8 [189a3867] Reexport v1.2.2 [94e857df] SIMDTypes v0.1.0 [476501e8] SLEEFPirates v0.6.46 [431bcebd] SciMLPublic v1.3.0 [91c51154] SentinelArrays v1.4.10 [a2af1166] SortingAlgorithms v1.2.3 [aedffcd0] Static v1.4.6 [0d7ed370] StaticArrayInterface v1.10.0 [10745b16] Statistics v1.11.4 ⌅ [892a3eda] StringManipulation v0.5.0 [3783bdb8] TableTraits v1.0.1 [bd369af6] Tables v1.14.0 [8290d209] ThreadingUtilities v0.5.6 [3a884ed6] UnPack v1.0.2 [3d5dd08c] VectorizationBase v0.21.74 [0dad84c5] ArgTools v1.2.0 [56f22d72] Artifacts v1.11.0 [2a0f44e3] Base64 v1.11.0 [ade2ca70] Dates v1.11.0 [8ba89e20] Distributed v1.12.0 [f43a241f] Downloads v1.7.0 [7b1f6079] FileWatching v1.11.0 [9fa8497b] Future v1.11.0 [b77e0a4c] InteractiveUtils v1.11.0 [ac6e5ff7] JuliaSyntaxHighlighting v1.13.0 [b27032c2] LibCURL v1.0.0 [76f85450] LibGit2 v1.11.0 [8f399da3] Libdl v1.11.0 [37e2e46d] LinearAlgebra v1.14.0 [56ddb016] Logging v1.11.0 [d6f4376e] Markdown v1.11.0 [a63ad114] Mmap v1.11.0 [ca575930] NetworkOptions v1.3.0 [44cfe95a] Pkg v1.14.0 [de0858da] Printf v1.11.0 [3fa0cd96] REPL v1.11.0 [9a3f8284] Random v1.11.0 [ea8e919c] SHA v1.13.0 [9e88b42a] Serialization v1.11.0 [6462fe0b] Sockets v1.11.0 [2f01184e] SparseArrays v1.13.0 [f489334b] StyledStrings v1.13.0 [fa267f1f] TOML v1.0.3 [a4e569a6] Tar v1.10.0 [8dfed614] Test v1.11.0 [cf7118a7] UUIDs v1.11.0 [4ec0a83e] Unicode v1.11.0 [e66e0078] CompilerSupportLibraries_jll v1.5.7+0 [deac9b47] LibCURL_jll v8.21.0+0 [e37daf67] LibGit2_jll v1.9.7+0 [29816b5a] LibSSH2_jll v1.11.104+0 [14a3606d] MozillaCACerts_jll v2026.8.13 [4536629a] OpenBLAS_jll v0.3.34+0 [458c3c95] OpenSSL_jll v3.5.8+0 [efcefdf7] PCRE2_jll v10.47.0+0 [bea87d4a] SuiteSparse_jll v7.10.1+0 [83775a58] Zlib_jll v1.3.2+0 [3161d3a3] Zstd_jll v1.5.7+1 [8e850b90] libblastrampoline_jll v5.15.0+0 [8e850ede] nghttp2_jll v1.70.0+0 [3f19e933] p7zip_jll v17.8.2+0 Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. Testing Running tests... Test Summary: | Pass Total Time Method ambiguity | 1 1 10.4s Test Summary: | Pass Total Time Unbound type parameters | 1 1 0.0s Test Summary: | Pass Total Time Undefined exports | 1 1 0.0s Test Summary: | Pass Total Time Compare Project.toml and test/Project.toml | 1 1 0.0s Test Summary: | Pass Total Time Stale dependencies | 1 1 5.7s Test Summary: | Pass Total Time Compat bounds | 4 4 0.6s Test Summary: | Pass Total Time Piracy | 1 1 0.3s Test Summary: | Pass Total Time Persistent tasks | 1 1 27.9s Test Summary: | Total Time ExplicitImports | 0 0.1s WARNING: Method definition debug_mode() in module JuliaInterpreter at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/src/construct.jl:40 overwritten at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/runtests.jl:44. """ # This file is generated by `generate_builtins.jl`. Do not edit by hand. function getargs(interp::Interpreter, args::Vector{Any}, frame::Frame) nargs = length(args)-1 # skip f callargs = resize!(frame.framedata.callargs, nargs) for i = 1:nargs callargs[i] = lookup(interp, frame, args[i+1]) end return callargs end const kwinvoke = Core.kwfunc(Core.invoke) function maybe_recurse_expanded_builtin(interp::Interpreter, frame::Frame, new_expr::Expr) f = new_expr.args[1] if supertype(typeof(f)) === Core.Builtin || isa(f, Core.IntrinsicFunction) return maybe_evaluate_builtin(interp, frame, new_expr, true) else return new_expr end end # Evaluate the target of an expanded `invokelatest`/`_call_latest` in the latest world, so that # bindings, methods, and types defined since the enclosing frame's world are visible. function recurse_expanded_builtin_latest(interp::Interpreter, frame::Frame, new_expr::Expr) world = Base.get_world_counter() oldworld = frame.world frame.world = world try f = new_expr.args[1] if supertype(typeof(f)) === Core.Builtin || isa(f, Core.IntrinsicFunction) return invoke_in_world(world, maybe_evaluate_builtin, interp, frame, new_expr, true) end fargs = collect_args(interp, frame, new_expr) return Some{Any}(invoke_in_world(world, evaluate_call!, interp, frame, fargs, false)) finally frame.world = oldworld end end \"\"\" ret = maybe_evaluate_builtin(interp::Interpreter, frame::Frame, call_expr::Expr, expand::Bool) If `call_expr` is to a builtin function, evaluate it, returning the result inside a `Some` wrapper. Otherwise, return `call_expr`. If `expand` is true, `Core._apply_iterate` calls will be resolved as a call to the applied function. \"\"\" function maybe_evaluate_builtin(interp::Interpreter, frame::Frame, call_expr::Expr, expand::Bool) args = call_expr.args nargs = length(args) - 1 fex = args[1] if isa(fex, QuoteNode) f = fex.value else f = lookup(interp, frame, fex) end if f isa Core.OpaqueClosure if expand meth = f.source # Don't try to interpret optimized/inferred ir, or closures whose source is # unavailable (e.g. constructed from an `IRCode`); call those natively below. if isa(meth, Method) && (isdefined(meth, :source) || isdefined(meth, :generator)) src = Base.uncompressed_ir(meth) isinferred = hasfield(Core.CodeInfo, :inferred) ? src.inferred : !isa(src.ssavaluetypes, Int) # inferred code has a type vector here if !isinferred return Expr(:call, f, args[2:end]...) else @debug \"not interpreting opaque closure $f since it contains inferred code\" end end end return Some{Any}(f(getargs(interp, args, frame)...)) end if !(supertype(typeof(f)) === Core.Builtin || isa(f, Core.IntrinsicFunction)) return call_expr end # By having each call appearing statically in the \"switch\" block below, # each gets call-site optimized. if @static isdefinedglobal(Core, :define_method) && f === Core.define_method return Some{Any}(evaluate_methoddef(interp, frame, call_expr)) elseif @static isdefinedglobal(Core, :has_free_typevars) && f === Core.has_free_typevars if nargs == 1 return Some{Any}(Core.has_free_typevars(lookup(interp, frame, args[2]))) else return Some{Any}(Core.has_free_typevars(getargs(interp, args, frame)...)) end elseif f === <: if nargs == 2 return Some{Any}(<:(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]))) else return Some{Any}(<:(getargs(interp, args, frame)...)) end elseif f === === if nargs == 2 return Some{Any}(===(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]))) else return Some{Any}(===(getargs(interp, args, frame)...)) end elseif f === Core._abstracttype return Some{Any}(Core._abstracttype(getargs(interp, args, frame)...)) elseif f === Core._apply_iterate argswrapped = getargs(interp, args, frame) if !expand return Some{Any}(invoke_in_world(frame.world, Core._apply_iterate, argswrapped...)) end aw1 = argswrapped[1]::Function aw1 === Core.iterate || aw1 === Core.Compiler.iterate || aw1 === Base.iterate || @invokelatest error(\"cannot handle `_apply_iterate` with non iterate as first argument, got \", aw1, \", \", typeof(aw1)) new_expr = Expr(:call, argswrapped[2]) popfirst!(argswrapped) # pop the iterate popfirst!(argswrapped) # pop the function argsflat = invoke_in_world(frame.world, append_any, argswrapped...)::Vector{Any} for x in argsflat push!(new_expr.args, QuoteNode(x)) end return maybe_recurse_expanded_builtin(interp, frame, new_expr) elseif f === Core._call_in_world_total return Some{Any}(Core._call_in_world_total(getargs(interp, args, frame)...)) elseif f === Core._compute_sparams return Some{Any}(Core._compute_sparams(getargs(interp, args, frame)...)) elseif f === Core._equiv_typedef return Some{Any}(Core._equiv_typedef(getargs(interp, args, frame)...)) elseif f === Core._expr return Some{Any}(Core._expr(getargs(interp, args, frame)...)) elseif @static isdefinedglobal(Core, :_import) && f === Core._import return Some{Any}(Core._import(getargs(interp, args, frame)...)) + elseif f === Core._new_cancel_source + return Some{Any}(Core._new_cancel_source(getargs(interp, args, frame)...)) elseif f === Core._primitivetype return Some{Any}(Core._primitivetype(getargs(interp, args, frame)...)) elseif f === Core._setsuper! return Some{Any}(Core._setsuper!(getargs(interp, args, frame)...)) elseif f === Core._structtype return Some{Any}(Core._structtype(getargs(interp, args, frame)...)) elseif @static isdefinedglobal(Core, :_svec_len) && f === Core._svec_len if nargs == 1 return Some{Any}(Core._svec_len(lookup(interp, frame, args[2]))) else return Some{Any}(Core._svec_len(getargs(interp, args, frame)...)) end elseif f === Core._svec_ref if nargs == 2 return Some{Any}(Core._svec_ref(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]))) else return Some{Any}(Core._svec_ref(getargs(interp, args, frame)...)) end + elseif f === Core._task + return Some{Any}(Core._task(getargs(interp, args, frame)...)) elseif f === Core._typebody! return Some{Any}(Core._typebody!(getargs(interp, args, frame)...)) elseif f === Core._typevar if nargs == 3 return Some{Any}(Core._typevar(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]))) else return Some{Any}(Core._typevar(getargs(interp, args, frame)...)) end elseif @static isdefinedglobal(Core, :_using) && f === Core._using return Some{Any}(Core._using(getargs(interp, args, frame)...)) elseif f === Core.apply_type return Some{Any}(Core.apply_type(getargs(interp, args, frame)...)) + elseif f === Core.bitsizeof + if nargs == 1 + return Some{Any}(Core.bitsizeof(lookup(interp, frame, args[2]))) + else + return Some{Any}(Core.bitsizeof(getargs(interp, args, frame)...)) + end + elseif f === Core.cancellation_point! + return Some{Any}(Core.cancellation_point!(getargs(interp, args, frame)...)) elseif f === Core.compilerbarrier if nargs == 2 return Some{Any}(Core.compilerbarrier(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]))) else return Some{Any}(Core.compilerbarrier(getargs(interp, args, frame)...)) end elseif @static isdefinedglobal(Core, :current_scope) && f === Core.current_scope if nargs == 0 currscope = Core.current_scope() for scope in frame.framedata.current_scopes currscope = Scope(currscope, scope.values...) end return Some{Any}(currscope) else return Some{Any}(Core.current_scope(getargs(interp, args, frame)...)) end elseif @static isdefinedglobal(Core, :declare_const) && f === Core.declare_const return Some{Any}(Core.declare_const(getargs(interp, args, frame)...)) elseif @static isdefinedglobal(Core, :declare_global) && f === Core.declare_global return Some{Any}(Core.declare_global(getargs(interp, args, frame)...)) elseif f === Core.donotdelete return Some{Any}(Core.donotdelete(getargs(interp, args, frame)...)) elseif f === Core.finalizer if nargs == 2 return Some{Any}(Core.finalizer(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]))) elseif nargs == 3 return Some{Any}(Core.finalizer(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]))) elseif nargs == 4 return Some{Any}(Core.finalizer(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]))) else return Some{Any}(Core.finalizer(getargs(interp, args, frame)...)) end elseif f === Core.get_binding_type if nargs == 2 return Some{Any}(Base.invoke_in_world(frame.world, Core.get_binding_type, lookup(interp, frame, args[2]), lookup(interp, frame, args[3]))) else return Some{Any}(Base.invoke_in_world(frame.world, Core.get_binding_type, getargs(interp, args, frame)...)) end elseif f === Core.ifelse if nargs == 3 return Some{Any}(Core.ifelse(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]))) else return Some{Any}(Core.ifelse(getargs(interp, args, frame)...)) end elseif @static isdefinedglobal(Core, :invoke_in_world) && f === Core.invoke_in_world return Some{Any}(Core.invoke_in_world(getargs(interp, args, frame)...)) elseif @static isdefinedglobal(Core, :memorynew) && f === Core.memorynew if nargs == 2 return Some{Any}(Core.memorynew(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]))) else return Some{Any}(Core.memorynew(getargs(interp, args, frame)...)) end elseif @static isdefinedglobal(Core, :memoryref_isassigned) && f === Core.memoryref_isassigned if nargs == 3 return Some{Any}(Core.memoryref_isassigned(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]))) else return Some{Any}(Core.memoryref_isassigned(getargs(interp, args, frame)...)) end elseif @static isdefinedglobal(Core, :memoryrefget) && f === Core.memoryrefget if nargs == 3 return Some{Any}(Core.memoryrefget(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]))) else return Some{Any}(Core.memoryrefget(getargs(interp, args, frame)...)) end elseif @static isdefinedglobal(Core, :memoryrefmodify!) && f === Core.memoryrefmodify! if nargs == 5 return Some{Any}(Base.invoke_in_world(frame.world, Core.memoryrefmodify!, lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]), lookup(interp, frame, args[6]))) else return Some{Any}(Base.invoke_in_world(frame.world, Core.memoryrefmodify!, getargs(interp, args, frame)...)) end elseif @static isdefinedglobal(Core, :memoryrefnew) && f === Core.memoryrefnew if nargs == 1 return Some{Any}(Core.memoryrefnew(lookup(interp, frame, args[2]))) elseif nargs == 2 return Some{Any}(Core.memoryrefnew(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]))) elseif nargs == 3 return Some{Any}(Core.memoryrefnew(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]))) elseif nargs == 4 return Some{Any}(Core.memoryrefnew(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]))) elseif nargs == 5 return Some{Any}(Core.memoryrefnew(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]), lookup(interp, frame, args[6]))) else return Some{Any}(Core.memoryrefnew(getargs(interp, args, frame)...)) end elseif @static isdefinedglobal(Core, :memoryrefoffset) && f === Core.memoryrefoffset if nargs == 1 return Some{Any}(Core.memoryrefoffset(lookup(interp, frame, args[2]))) else return Some{Any}(Core.memoryrefoffset(getargs(interp, args, frame)...)) end elseif @static isdefinedglobal(Core, :memoryrefreplace!) && f === Core.memoryrefreplace! if nargs == 6 return Some{Any}(Core.memoryrefreplace!(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]), lookup(interp, frame, args[6]), lookup(interp, frame, args[7]))) else return Some{Any}(Core.memoryrefreplace!(getargs(interp, args, frame)...)) end elseif @static isdefinedglobal(Core, :memoryrefset!) && f === Core.memoryrefset! if nargs == 4 return Some{Any}(Core.memoryrefset!(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]))) else return Some{Any}(Core.memoryrefset!(getargs(interp, args, frame)...)) end elseif @static isdefinedglobal(Core, :memoryrefsetonce!) && f === Core.memoryrefsetonce! if nargs == 5 return Some{Any}(Core.memoryrefsetonce!(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]), lookup(interp, frame, args[6]))) else return Some{Any}(Core.memoryrefsetonce!(getargs(interp, args, frame)...)) end elseif @static isdefinedglobal(Core, :memoryrefswap!) && f === Core.memoryrefswap! if nargs == 4 return Some{Any}(Core.memoryrefswap!(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]))) else return Some{Any}(Core.memoryrefswap!(getargs(interp, args, frame)...)) end elseif @static isdefinedglobal(Core, :memoryrefunset!) && f === Core.memoryrefunset! if nargs == 3 return Some{Any}(Core.memoryrefunset!(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]))) else return Some{Any}(Core.memoryrefunset!(getargs(interp, args, frame)...)) end elseif f === Core.sizeof if nargs == 1 return Some{Any}(Core.sizeof(lookup(interp, frame, args[2]))) else return Some{Any}(Core.sizeof(getargs(interp, args, frame)...)) end elseif f === Core.svec return Some{Any}(Core.svec(getargs(interp, args, frame)...)) + elseif f === Core.task_result_type + if nargs == 1 + return Some{Any}(Core.task_result_type(lookup(interp, frame, args[2]))) + else + return Some{Any}(Core.task_result_type(getargs(interp, args, frame)...)) + end elseif @static isdefinedglobal(Core, :throw_methoderror) && f === Core.throw_methoderror return Some{Any}(Core.throw_methoderror(getargs(interp, args, frame)...)) elseif f === applicable return Some{Any}(Base.invoke_in_world(frame.world, applicable, getargs(interp, args, frame)...)) elseif f === fieldtype if nargs == 2 return Some{Any}(fieldtype(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]))::Type) elseif nargs == 3 return Some{Any}(fieldtype(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]))::Type) else return Some{Any}(fieldtype(getargs(interp, args, frame)...)::Type) end elseif f === getfield if nargs == 2 return Some{Any}(getfield(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]))) elseif nargs == 3 return Some{Any}(getfield(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]))) elseif nargs == 4 return Some{Any}(getfield(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]))) else return Some{Any}(getfield(getargs(interp, args, frame)...)) end elseif f === getglobal if nargs == 2 return Some{Any}(Base.invoke_in_world(frame.world, getglobal, lookup(interp, frame, args[2]), lookup(interp, frame, args[3]))) elseif nargs == 3 return Some{Any}(Base.invoke_in_world(frame.world, getglobal, lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]))) else return Some{Any}(Base.invoke_in_world(frame.world, getglobal, getargs(interp, args, frame)...)) end elseif f === invoke if !expand argswrapped = getargs(interp, args, frame) # `invoke` dispatches on its target: pin it to the frame's world rather than # whatever world the interpreter machinery happens to be running in. return Some{Any}(Base.invoke_in_world(frame.world, invoke, argswrapped...)) end # This uses the original arguments to avoid looking them up twice # See #442 return Expr(:call, invoke, args[2:end]...) elseif @static isdefinedglobal(Core, :invokelatest) && f === Core.invokelatest args = getargs(interp, args, frame) if !expand return Some{Any}(Core.invokelatest(args...)) end new_expr = Expr(:call, args[1]) popfirst!(args) for x in args push!(new_expr.args, QuoteNode(x)) end return recurse_expanded_builtin_latest(interp, frame, new_expr) elseif f === isa if nargs == 2 return Some{Any}(isa(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]))) else return Some{Any}(isa(getargs(interp, args, frame)...)) end elseif f === isdefined if nargs == 2 return Some{Any}(isdefined(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]))) elseif nargs == 3 return Some{Any}(isdefined(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]))) else return Some{Any}(isdefined(getargs(interp, args, frame)...)) end elseif @static isdefinedglobal(Core, :isdefinedglobal) && f === isdefinedglobal return Some{Any}(Base.invoke_in_world(frame.world, isdefinedglobal, getargs(interp, args, frame)...)) elseif f === modifyfield! if nargs == 4 return Some{Any}(Base.invoke_in_world(frame.world, modifyfield!, lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]))) elseif nargs == 5 return Some{Any}(Base.invoke_in_world(frame.world, modifyfield!, lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]), lookup(interp, frame, args[6]))) else return Some{Any}(Base.invoke_in_world(frame.world, modifyfield!, getargs(interp, args, frame)...)) end elseif @static isdefinedglobal(Core, :modifyglobal!) && f === modifyglobal! if nargs == 4 return Some{Any}(Base.invoke_in_world(frame.world, modifyglobal!, lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]))) elseif nargs == 5 return Some{Any}(Base.invoke_in_world(frame.world, modifyglobal!, lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]), lookup(interp, frame, args[6]))) else return Some{Any}(Base.invoke_in_world(frame.world, modifyglobal!, getargs(interp, args, frame)...)) end elseif f === nfields if nargs == 1 return Some{Any}(nfields(lookup(interp, frame, args[2]))) else return Some{Any}(nfields(getargs(interp, args, frame)...)) end elseif f === replacefield! if nargs == 4 return Some{Any}(replacefield!(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]))) elseif nargs == 5 return Some{Any}(replacefield!(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]), lookup(interp, frame, args[6]))) elseif nargs == 6 return Some{Any}(replacefield!(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]), lookup(interp, frame, args[6]), lookup(interp, frame, args[7]))) else return Some{Any}(replacefield!(getargs(interp, args, frame)...)) end elseif @static isdefinedglobal(Core, :replaceglobal!) && f === replaceglobal! if nargs == 4 return Some{Any}(Base.invoke_in_world(frame.world, replaceglobal!, lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]))) elseif nargs == 5 return Some{Any}(Base.invoke_in_world(frame.world, replaceglobal!, lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]), lookup(interp, frame, args[6]))) elseif nargs == 6 return Some{Any}(Base.invoke_in_world(frame.world, replaceglobal!, lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]), lookup(interp, frame, args[6]), lookup(interp, frame, args[7]))) else return Some{Any}(Base.invoke_in_world(frame.world, replaceglobal!, getargs(interp, args, frame)...)) end elseif f === setfield! if nargs == 3 return Some{Any}(setfield!(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]))) elseif nargs == 4 return Some{Any}(setfield!(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]))) else return Some{Any}(setfield!(getargs(interp, args, frame)...)) end elseif @static isdefinedglobal(Core, :setfieldonce!) && f === setfieldonce! if nargs == 3 return Some{Any}(setfieldonce!(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]))) elseif nargs == 4 return Some{Any}(setfieldonce!(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]))) elseif nargs == 5 return Some{Any}(setfieldonce!(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]), lookup(interp, frame, args[6]))) else return Some{Any}(setfieldonce!(getargs(interp, args, frame)...)) end elseif f === setglobal! if nargs == 3 return Some{Any}(Base.invoke_in_world(frame.world, setglobal!, lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]))) elseif nargs == 4 return Some{Any}(Base.invoke_in_world(frame.world, setglobal!, lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]))) else return Some{Any}(Base.invoke_in_world(frame.world, setglobal!, getargs(interp, args, frame)...)) end elseif @static isdefinedglobal(Core, :setglobalonce!) && f === setglobalonce! if nargs == 3 return Some{Any}(Base.invoke_in_world(frame.world, setglobalonce!, lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]))) elseif nargs == 4 return Some{Any}(Base.invoke_in_world(frame.world, setglobalonce!, lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]))) elseif nargs == 5 return Some{Any}(Base.invoke_in_world(frame.world, setglobalonce!, lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]), lookup(interp, frame, args[6]))) else return Some{Any}(Base.invoke_in_world(frame.world, setglobalonce!, getargs(interp, args, frame)...)) end elseif f === swapfield! if nargs == 3 return Some{Any}(swapfield!(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]))) elseif nargs == 4 return Some{Any}(swapfield!(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]))) else return Some{Any}(swapfield!(getargs(interp, args, frame)...)) end elseif @static isdefinedglobal(Core, :swapglobal!) && f === swapglobal! if nargs == 3 return Some{Any}(Base.invoke_in_world(frame.world, swapglobal!, lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]))) elseif nargs == 4 return Some{Any}(Base.invoke_in_world(frame.world, swapglobal!, lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]))) else return Some{Any}(Base.invoke_in_world(frame.world, swapglobal!, getargs(interp, args, frame)...)) end elseif f === throw if nargs == 1 return Some{Any}(throw(lookup(interp, frame, args[2]))) else return Some{Any}(throw(getargs(interp, args, frame)...)) end elseif f === tuple let args=args return Some{Any}(ntupleany(i::Int->lookup(interp, frame, args[i+1]), length(args)-1)) end elseif f === typeassert if nargs == 2 return Some{Any}(typeassert(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]))) else return Some{Any}(typeassert(getargs(interp, args, frame)...)) end elseif f === typeof if nargs == 1 return Some{Any}(typeof(lookup(interp, frame, args[2]))) else return Some{Any}(typeof(getargs(interp, args, frame)...)) end # Intrinsics elseif f === Base.cglobal if nargs == 1 call_expr = copy(call_expr) # The function position may be an SSA reference (e.g. code that loads the # intrinsic via getproperty, as Core.io_pointer does); it must be a literal # for the `Core.eval` below, since lowering requires cglobal syntax. call_expr.args[1] = GlobalRef(Base, :cglobal) args2 = args[2] call_expr.args[2] = isa(args2, QuoteNode) ? args2 : lookup(interp, frame, args2) return Some{Any}(Core.eval(moduleof(frame), call_expr)) elseif nargs == 2 call_expr = copy(call_expr) call_expr.args[1] = GlobalRef(Base, :cglobal) args2 = args[2] call_expr.args[2] = isa(args2, QuoteNode) ? args2 : lookup(interp, frame, args2) call_expr.args[3] = lookup(interp, frame, args[3]) return Some{Any}(Core.eval(moduleof(frame), call_expr)) end elseif @static (isdefinedglobal(Core, :arrayref) && Core.arrayref isa Core.Builtin) && f === Core.arrayref if nargs == 1 return Some{Any}(Core.arrayref(lookup(interp, frame, args[2]))) elseif nargs == 2 return Some{Any}(Core.arrayref(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]))) elseif nargs == 3 return Some{Any}(Core.arrayref(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]))) elseif nargs == 4 return Some{Any}(Core.arrayref(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]))) elseif nargs == 5 return Some{Any}(Core.arrayref(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]), lookup(interp, frame, args[6]))) else return Some{Any}(Core.arrayref(getargs(interp, args, frame)...)) end elseif @static (isdefinedglobal(Core, :arrayset) && Core.arrayset isa Core.Builtin) && f === Core.arrayset if nargs == 1 return Some{Any}(Core.arrayset(lookup(interp, frame, args[2]))) elseif nargs == 2 return Some{Any}(Core.arrayset(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]))) elseif nargs == 3 return Some{Any}(Core.arrayset(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]))) elseif nargs == 4 return Some{Any}(Core.arrayset(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]))) elseif nargs == 5 return Some{Any}(Core.arrayset(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]), lookup(interp, frame, args[6]))) elseif nargs == 6 return Some{Any}(Core.arrayset(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]), lookup(interp, frame, args[6]), lookup(interp, frame, args[7]))) else return Some{Any}(Core.arrayset(getargs(interp, args, frame)...)) end elseif @static (isdefinedglobal(Core, :arrayset) && Core.arrayset isa Core.Builtin) && f === Core.arrayset if nargs == 1 return Some{Any}(Core.arrayset(lookup(interp, frame, args[2]))) elseif nargs == 2 return Some{Any}(Core.arrayset(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]))) elseif nargs == 3 return Some{Any}(Core.arrayset(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]))) elseif nargs == 4 return Some{Any}(Core.arrayset(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]))) elseif nargs == 5 return Some{Any}(Core.arrayset(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]), lookup(interp, frame, args[6]))) elseif nargs == 6 return Some{Any}(Core.arrayset(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]), lookup(interp, frame, args[6]), lookup(interp, frame, args[7]))) else return Some{Any}(Core.arrayset(getargs(interp, args, frame)...)) end elseif @static (isdefinedglobal(Core, :const_arrayref) && Core.const_arrayref isa Core.Builtin) && f === Core.const_arrayref if nargs == 1 return Some{Any}(Core.const_arrayref(lookup(interp, frame, args[2]))) elseif nargs == 2 return Some{Any}(Core.const_arrayref(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]))) elseif nargs == 3 return Some{Any}(Core.const_arrayref(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]))) elseif nargs == 4 return Some{Any}(Core.const_arrayref(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]))) elseif nargs == 5 return Some{Any}(Core.const_arrayref(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]), lookup(interp, frame, args[6]))) else return Some{Any}(Core.const_arrayref(getargs(interp, args, frame)...)) end elseif @static (isdefinedglobal(Core, :memoryref) && Core.memoryref isa Core.Builtin) && f === Core.memoryref if nargs == 1 return Some{Any}(Core.memoryref(lookup(interp, frame, args[2]))) elseif nargs == 2 return Some{Any}(Core.memoryref(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]))) elseif nargs == 3 return Some{Any}(Core.memoryref(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]))) elseif nargs == 4 return Some{Any}(Core.memoryref(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]))) elseif nargs == 5 return Some{Any}(Core.memoryref(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]), lookup(interp, frame, args[5]), lookup(interp, frame, args[6]))) else return Some{Any}(Core.memoryref(getargs(interp, args, frame)...)) end elseif @static (isdefinedglobal(Core, :set_binding_type!) && Core.set_binding_type! isa Core.Builtin) && f === Core.set_binding_type! if nargs == 2 return Some{Any}(Core.set_binding_type!(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]))) elseif nargs == 3 return Some{Any}(Core.set_binding_type!(lookup(interp, frame, args[2]), lookup(interp, frame, args[3]), lookup(interp, frame, args[4]))) else return Some{Any}(Core.set_binding_type!(getargs(interp, args, frame)...)) end elseif @static (isdefinedglobal(Core, :_apply_pure) && Core._apply_pure isa Core.Builtin) && f === Core._apply_pure return Some{Any}(Core._apply_pure(getargs(interp, args, frame)...)) elseif @static (isdefinedglobal(Core, :_call_in_world) && Core._call_in_world isa Core.Builtin) && f === Core._call_in_world return Some{Any}(Core._call_in_world(getargs(interp, args, frame)...)) elseif @static (isdefinedglobal(Core, :_call_latest) && Core._call_latest isa Core.Builtin) && f === Core._call_latest args = getargs(interp, args, frame) if !expand return Some{Any}(Core._call_latest(args...)) end new_expr = Expr(:call, args[1]) popfirst!(args) for x in args push!(new_expr.args, QuoteNode(x)) end return recurse_expanded_builtin_latest(interp, frame, new_expr) elseif @static (isdefinedglobal(Core, :_defaultctors) && Core._defaultctors isa Core.Builtin) && f === Core._defaultctors return Some{Any}(Core._defaultctors(getargs(interp, args, frame)...)) elseif f === Core.Intrinsics.llvmcall return Some{Any}(Core.Intrinsics.llvmcall(getargs(interp, args, frame)...)) end if isa(f, Core.IntrinsicFunction) cargs = getargs(interp, args, frame) if f === Core.Intrinsics.have_fma && length(cargs) == 1 cargs1 = cargs[1] if cargs1 === Float64 return Some{Any}(FMA_FLOAT64[]) elseif cargs1 === Float32 return Some{Any}(FMA_FLOAT32[]) elseif cargs1 === Float16 return Some{Any}(FMA_FLOAT16[]) end end if f === Core.Intrinsics.muladd_float && length(cargs) == 3 a, b, c = cargs Ta, Tb, Tc = typeof(a), typeof(b), typeof(c) if !(Ta == Tb == Tc) error(\"muladd_float: types of a, b, and c must match\") end if Ta == Float64 && FMA_FLOAT64[] f = Core.Intrinsics.fma_float elseif Ta == Float32 && FMA_FLOAT32[] f = Core.Intrinsics.fma_float elseif Ta == Float16 && FMA_FLOAT16[] f = Core.Intrinsics.fma_float end end if f === Core.Intrinsics.atomic_pointermodify # its `op` callback dispatches in the calling world; pin it to the frame's return Some{Any}(Base.invoke_in_world(frame.world, f, cargs...)) end return Some{Any}(ccall(:jl_f_intrinsic_call, Any, (Any, Ptr{Any}, UInt32), f, cargs, length(cargs))) end if isa(f, typeof(kwinvoke)) return Some{Any}(Base.invoke_in_world(frame.world, kwinvoke, getargs(interp, args, frame)...)) end return call_expr end """ Check builtin.jl consistency: Test Failed at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/check_builtins.jl:18 Expression: consistent Stacktrace: [1] top-level scope @ ~/.julia/packages/JuliaInterpreter/c4WlU/test/check_builtins.jl:7 [2] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2247 [inlined] [3] macro expansion @ ~/.julia/packages/JuliaInterpreter/c4WlU/test/check_builtins.jl:18 [inlined] [4] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:784 [inlined] ┌ Warning: `disable_sigint` no longer defers Ctrl-C: SIGINT is delivered as a cancellation of the current ^C scope and observed at cancellation points regardless of the sigatomic region this establishes. Shield a region from cancellation by scoping `Base.CANCEL_TOKEN => nothing` over it instead. │ caller = top-level scope at none:1 └ @ Core none:1 ┌ Warning: `disable_sigint` no longer defers Ctrl-C: SIGINT is delivered as a cancellation of the current ^C scope and observed at cancellation points regardless of the sigatomic region this establishes. Shield a region from cancellation by scoping `Base.CANCEL_TOKEN => nothing` over it instead. │ caller = top-level scope at none:1 └ @ Core none:1 WARNING: method definition for foo at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/interpret.jl:554 declares type variable S but does not use it. WARNING: Method definition f(Any) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/interpret.jl:293 overwritten at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/interpret.jl:812. WARNING: Method definition f(Any) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/interpret.jl:812 overwritten at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/interpret.jl:815. WARNING: Method definition foobar() in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/interpret.jl:950 overwritten at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/interpret.jl:952. ┌ Warning: likely failure to return to toplevel, try `ExprSplitter` └ @ JuliaInterpreter ~/.julia/packages/JuliaInterpreter/c4WlU/src/interpret.jl:956 WARNING: Method definition f(Any) in module Toplevel at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/toplevel.jl:507 overwritten on the same line (check for duplicate calls to `include`). WARNING: Method definition g(Type) in module Toplevel at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/toplevel.jl:509 overwritten on the same line (check for duplicate calls to `include`). WARNING: Method definition g(Any) in module Toplevel at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/toplevel.jl:510 overwritten on the same line (check for duplicate calls to `include`). WARNING: Method definition f(Any) in module Sub at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/toplevel.jl:521 overwritten on the same line (check for duplicate calls to `include`). WARNING: Method definition MyStruct(Array{var"#s5413", 1} where var"#s5413"<:Real) in module ToplevelParameters at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/toplevel.jl:619 overwritten at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/toplevel.jl:625. WARNING: Method definition MyStruct(Any) in module ToplevelParameters at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/toplevel.jl:619 overwritten at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/toplevel.jl:625. WARNING: Method definition MyStruct() in module ToplevelParameters at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/toplevel.jl:618 overwritten at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/toplevel.jl:624. WARNING: Method definition kwcall(NamedTuple{names, T} where T<:Tuple where names, Type{ToplevelParameters.MyStruct}) in module ToplevelParameters at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/toplevel.jl:618 overwritten at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/toplevel.jl:624. WARNING: Detected access to binding `JIVisible.OuterModDocstring4` in a world prior to its definition world. Julia 1.12 has introduced more strict world age semantics for global bindings. !!! This code may malfunction under Revise. !!! This code will error in future versions of Julia. Hint: Add an appropriate `invokelatest` around the access to this binding. To make this warning an error, and hence obtain a stack trace, use `julia --depwarn=error`. WARNING: Method definition f(Any) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/interpret.jl:815 overwritten at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/eval_code.jl:81. WARNING: Method definition stacklength(Any) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/utils.jl:15 overwritten at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/breakpoints.jl:26. WARNING: Method definition inner(Any) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/breakpoints.jl:98 overwritten at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/breakpoints.jl:159. WARNING: Method definition k() in module BPResumeToplevel at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/breakpoints.jl:640 overwritten on the same line (check for duplicate calls to `include`). WARNING: method definition for unbound_sparam at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/breakpoints.jl:760 declares type variable S but does not use it. code coverage: Test Failed at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/code_coverage/code_coverage.jl:51 Expression: cov_data == expected Evaluated: " 2 fizz() = print(\"fizz \")\n 1 buzz() = print(\"buzz \")\n - \n 1 function fizzbuzz(n)\n 4 for i in 1:n\n 4 if i % 3 == 0 || i % 5 == 0\n 1 i % 3 == 0 && fizz()\n 1 i % 5 == 0 && buzz()\n - else\n 3 print(i, \" \")\n - end\n 4 end\n 1 return n\n - end\n - \n 1 using JuliaInterpreter\n 1 @interpret fizzbuzz(4)\n" == " 1 fizz() = print(\"fizz \")\n - buzz() = print(\"buzz \")\n - \n - function fizzbuzz(n)\n 4 for i in 1:n\n 4 if i % 3 == 0 || i % 5 == 0\n 1 i % 3 == 0 && fizz()\n 1 i % 5 == 0 && buzz()\n - else\n 3 print(i, \" \")\n - end\n 4 end\n 1 return n\n - end\n - \n - using JuliaInterpreter\n - @interpret fizzbuzz(4)\n" Stacktrace: [1] top-level scope @ ~/.julia/packages/JuliaInterpreter/c4WlU/test/code_coverage/code_coverage.jl:27 [2] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2247 [inlined] [3] macro expansion @ ~/.julia/packages/JuliaInterpreter/c4WlU/test/code_coverage/code_coverage.jl:51 [inlined] [4] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:784 [inlined] WARNING: Method definition is_getproperty(Any) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/utils.jl:10 overwritten on the same line (check for duplicate calls to `include`). WARNING: Method definition stacklength(Any) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/breakpoints.jl:26 overwritten at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/utils.jl:15. WARNING: Method definition runframe(Any) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/utils.jl:26 overwritten on the same line (check for duplicate calls to `include`). WARNING: Method definition runstack(Any) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/utils.jl:29 overwritten on the same line (check for duplicate calls to `include`). WARNING: Method definition read_and_parse(Any) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/utils.jl:33 overwritten on the same line (check for duplicate calls to `include`). WARNING: Method definition Aborted(Base.Compiler.IRShow.LineInfoNode) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/utils.jl:44 overwritten on the same line (check for duplicate calls to `include`). WARNING: Method definition Aborted(Any) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/utils.jl:44 overwritten on the same line (check for duplicate calls to `include`). WARNING: Method definition Aborted(JuliaInterpreter.Frame, Any) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/utils.jl:49 overwritten on the same line (check for duplicate calls to `include`). WARNING: Method definition LimitedExec(Int64) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/utils.jl:57 overwritten on the same line (check for duplicate calls to `include`). WARNING: Method definition LimitedExec(Any) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/utils.jl:57 overwritten on the same line (check for duplicate calls to `include`). WARNING: Method definition AbortException(Main.Aborted) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/utils.jl:63 overwritten on the same line (check for duplicate calls to `include`). WARNING: Method definition AbortException(Any) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/utils.jl:63 overwritten on the same line (check for duplicate calls to `include`). WARNING: Method definition evaluate_limited!(JuliaInterpreter.Interpreter, JuliaInterpreter.Frame, Int64) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/utils.jl:74 overwritten on the same line (check for duplicate calls to `include`). WARNING: Method definition evaluate_limited!(JuliaInterpreter.Interpreter, JuliaInterpreter.Frame, Int64, Bool) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/utils.jl:74 overwritten on the same line (check for duplicate calls to `include`). WARNING: Method definition evaluate_limited!(JuliaInterpreter.Interpreter, Tuple{Module, Expr, JuliaInterpreter.Frame}, Int64) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/utils.jl:158 overwritten on the same line (check for duplicate calls to `include`). WARNING: Method definition evaluate_limited!(JuliaInterpreter.Interpreter, Tuple{Module, Expr, JuliaInterpreter.Frame}, Int64, Bool) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/utils.jl:158 overwritten on the same line (check for duplicate calls to `include`). WARNING: Method definition evaluate_limited!(JuliaInterpreter.Interpreter, Tuple{Module, Expr, Expr}, Int64) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/utils.jl:160 overwritten on the same line (check for duplicate calls to `include`). WARNING: Method definition evaluate_limited!(JuliaInterpreter.Interpreter, Tuple{Module, Expr, Expr}, Int64, Bool) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/utils.jl:160 overwritten on the same line (check for duplicate calls to `include`). WARNING: Method definition evaluate_limited!(Union{Tuple, JuliaInterpreter.Frame}, Int64) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/utils.jl:163 overwritten on the same line (check for duplicate calls to `include`). WARNING: Method definition evaluate_limited!(Union{Tuple, JuliaInterpreter.Frame}, Int64, Bool) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/utils.jl:163 overwritten on the same line (check for duplicate calls to `include`). WARNING: Method definition finish_and_return!(Main.LimitedExec, JuliaInterpreter.Frame, Bool) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/utils.jl:166 overwritten on the same line (check for duplicate calls to `include`). WARNING: Method definition configure_test() in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/utils.jl:175 overwritten on the same line (check for duplicate calls to `include`). WARNING: Method definition run_test_by_eval(Any, Any, Any) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/utils.jl:200 overwritten on the same line (check for duplicate calls to `include`). WARNING: Method definition g(Any) in module Main at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/interpret.jl:813 overwritten at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/debug.jl:571. Test Summary: | Pass Fail Broken Total Time Main tests | 1177 2 2 1181 5m34.6s check_bulitins.jl | 1 1 19.0s Check builtin.jl consistency | 1 1 19.0s core.jl | 7 7 7.7s interpret.jl | 297 1 298 3m03.9s toplevel.jl | 364 364 1m02.1s limits.jl | 20 20 8.6s eval_code.jl | 33 33 7.4s breakpoints.jl | 143 1 144 14.1s code_coverage/code_coverage.jl | 2 1 3 24.1s code coverage | 2 1 3 21.9s debug.jl | 311 311 7.8s RNG of the outermost testset: Xoshiro(0x870b28cc0c6363e2, 0x731fac4c000bea6e, 0x785b0c032371f159, 0xff806afd6350d9a3, 0x36b456ad74f6cd5e) ERROR: LoadError: Some tests did not pass: 1177 passed, 2 failed, 0 errored, 2 broken. in expression starting at /home/pkgeval/.julia/packages/JuliaInterpreter/c4WlU/test/runtests.jl:46 Testing failed after 413.98s ERROR: LoadError: Package JuliaInterpreter errored during testing Stacktrace: [1] pkgerror(msg::String) @ Pkg.Types /opt/julia/share/julia/stdlib/v1.14/Pkg/src/Types.jl:68 [2] test(ctx::Pkg.Types.Context, pkgs::Vector{PackageSpec}; coverage::Bool, julia_args::Cmd, test_args::Cmd, test_fn::Nothing, force_latest_compatible_version::Bool, allow_earlier_backwards_compatible_versions::Bool, allow_reresolve::Bool) @ Pkg.Operations /opt/julia/share/julia/stdlib/v1.14/Pkg/src/Operations.jl:3283 [3] test(ctx::Pkg.Types.Context, pkgs::Vector{PackageSpec}; coverage::Bool, test_fn::Nothing, julia_args::Cmd, test_args::Cmd, force_latest_compatible_version::Bool, allow_earlier_backwards_compatible_versions::Bool, allow_reresolve::Bool, kwargs::@Kwargs{io::IOContext{IO}}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:587 [4] test(pkgs::Vector{PackageSpec}; io::IOContext{IO}, kwargs::@Kwargs{julia_args::Cmd}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:172 [5] test(pkgs::Vector{String}; kwargs::@Kwargs{julia_args::Cmd}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:160 [6] test(pkg::String; kwargs::@Kwargs{julia_args::Cmd}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:159 [inlined] [7] top-level scope @ /PkgEval.jl/scripts/evaluate.jl:223 in expression starting at /PkgEval.jl/scripts/evaluate.jl:214 PkgEval failed after 556.06s: package has test failures