Package evaluation of ExproniconLite on Julia 1.11.4 (a71dd056e0*) started at 2025-04-08T07:00:02.981 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Set-up completed after 7.97s ################################################################################ # Installation # Installing ExproniconLite... Resolving package versions... Updating `~/.julia/environments/v1.11/Project.toml` [55351af7] + ExproniconLite v0.10.14 Updating `~/.julia/environments/v1.11/Manifest.toml` [55351af7] + ExproniconLite v0.10.14 Installation completed after 1.07s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompilation completed after 107.57s ################################################################################ # Testing # Testing ExproniconLite Status `/tmp/jl_ECsqz9/Project.toml` ⌅ [4c88cf16] Aqua v0.5.6 [e30172f5] Documenter v1.10.1 [55351af7] ExproniconLite v0.10.14 [d8e11817] MLStyle v0.4.17 [8dfed614] Test v1.11.0 Status `/tmp/jl_ECsqz9/Manifest.toml` [a4c015fc] ANSIColoredPrinters v0.0.1 [1520ce14] AbstractTrees v0.4.5 ⌅ [4c88cf16] Aqua v0.5.6 [944b1d66] CodecZlib v0.7.8 [34da2185] Compat v4.16.0 [ffbed154] DocStringExtensions v0.9.4 [e30172f5] Documenter v1.10.1 [55351af7] ExproniconLite v0.10.14 [d7ba0133] Git v1.3.1 [b5f81e59] IOCapture v0.2.5 [692b3bcd] JLLWrappers v1.7.0 [682c06a0] JSON v0.21.4 [0e77f7df] LazilyInitializedFields v1.3.0 [d8e11817] MLStyle v0.4.17 [d0879d2d] MarkdownAST v0.1.2 [69de0a69] Parsers v2.8.1 ⌅ [aea7be01] PrecompileTools v1.2.1 [21216c6a] Preferences v1.4.3 [2792f1a3] RegistryInstances v0.1.0 [3bb67fe8] TranscodingStreams v0.11.3 [2e619515] Expat_jll v2.6.5+0 [f8c6e375] Git_jll v2.49.0+0 [94ce4f54] Libiconv_jll v1.18.0+0 [458c3c95] OpenSSL_jll v3.0.16+0 [0dad84c5] ArgTools v1.1.2 [56f22d72] Artifacts v1.11.0 [2a0f44e3] Base64 v1.11.0 [ade2ca70] Dates v1.11.0 [f43a241f] Downloads v1.6.0 [7b1f6079] FileWatching v1.11.0 [b77e0a4c] InteractiveUtils v1.11.0 [b27032c2] LibCURL v0.6.4 [76f85450] LibGit2 v1.11.0 [8f399da3] Libdl v1.11.0 [56ddb016] Logging v1.11.0 [d6f4376e] Markdown v1.11.0 [a63ad114] Mmap v1.11.0 [ca575930] NetworkOptions v1.2.0 [44cfe95a] Pkg v1.11.0 [de0858da] Printf v1.11.0 [3fa0cd96] REPL v1.11.0 [9a3f8284] Random v1.11.0 [ea8e919c] SHA v0.7.0 [9e88b42a] Serialization v1.11.0 [6462fe0b] Sockets v1.11.0 [f489334b] StyledStrings v1.11.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 [deac9b47] LibCURL_jll v8.6.0+0 [e37daf67] LibGit2_jll v1.7.2+0 [29816b5a] LibSSH2_jll v1.11.0+1 [c8ffd9c3] MbedTLS_jll v2.28.6+0 [14a3606d] MozillaCACerts_jll v2023.12.12 [efcefdf7] PCRE2_jll v10.42.0+1 [83775a58] Zlib_jll v1.2.13+1 [8e850ede] nghttp2_jll v1.59.0+0 [3f19e933] p7zip_jll v17.4.0+2 Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. Testing Running tests... Skipping Base.active_repl Skipping Base.active_repl_backend Skipping Base.cwstring Test Summary: | Pass Total Time Method ambiguity | 1 1 7.1s Test Summary: | Pass Total Time Unbound type parameters | 1 1 0.3s Test Summary: | Pass Total Time Undefined exports | 1 1 0.1s Test Summary: | Pass Total Time Compare Project.toml and test/Project.toml | 1 1 0.1s Test Summary: | Pass Total Time Stale dependencies | 1 1 2.9s Test Summary: | Pass Total Time Compat bounds | 1 1 1.3s Test Summary: | Pass Total Time Project.toml formatting | 1 1 1.4s Test Summary: | Pass Total Time @test_expr | 1 1 0.1s 1 + 1-(1 + 1)-(1 * 1)-1 * 12 * 2 - 1 * 1var"##step_1_l#259" = 1 << (var"##plain_locs#258"[1] - 1)module A; @static(if !isdefined(@__MODULE__(), :include_generated); function __include_generated__(_path::String); Base.@_noinline_meta();mod = @__MODULE__();(path, prev) = Base._include_dependency(mod, _path);code = read(path, String);tls = task_local_storage();tls[:SOURCE_PATH] = path;try ex = include_string(mod, "quote $code end", path); mod.eval(mod.eval(ex)); return nothing; ; finally if prev === nothing; delete!(tls, :SOURCE_PATH); else tls[:SOURCE_PATH] = prev; end; end; end; end) endusing A, Busing A: a, bimport A, Bimport A: a, b as cimport A as BA.Bexport a, b"aaaa""aa\"a""aaaa" * "bbbb"A{T} where {T <: B}A{T} where {T <: B, T2 <: C}Tuple{var1, var2} where {var1, var2 <: AbstractArray}A::Bprint_expr(:(function foo(x, y::T; z::Int = 1) where {N, T <: Real}; x + 1; end))struct ABC; a::Int; endmutable struct ABC; a::Int; endstruct ABC; a::Int; b::Int; endprimitive type ABC 32 endabstract type ABC endabstract type ABC <: BCD endbreakfoo(x, y, z)foo(x, y, z...)foo(x, y, z; a, b = 2)@mymacro(begin x + 1; x + 2 end, y, z + 1)in(a, b) .+ 11:10(p::InlinePrinter)(x, xs...; delim = ", ")Base.:(==)(a::Variant, b::Variant)foo() do; endfoo() do x; endfoo() do x, y, z; endfoo() do x, y, z; 1 + 1; 2 + 2 endfoo() do x, y, z...; 1 + 1; 2 + 2 endx -> (x + 1)(x, y -> (x + 1))(x, y) -> (x + 1; y + 1)1 + x + y + z+z-z(1, 2, x)SubArray(var"##8070", (1:length(var"##8070"),))[1, 2, x][1 2 x][1; 2; x][1;; 2;; x]Float64[1, 2, x]Float64[1 2 x][[line] for line in eachsplit(ex, '\n')]Any[[line] for line in eachsplit(ex, '\n')]begin x + 1; y + 1 end:($(Expr(:using, :(($(Expr(:(.), :(($(Expr(:($), :(&name))))))))))))"aaa$xbbb":x:(1 + 1; 2 + x)begin 1 + 1; 2 + x endlet x = 1; y + 1; endlet x = 1, y; x + 1; y + 1; endfor i in 1:10; x + 1; y + 1; endwhile x < 10; x + 1; y + 1; endif x < 10; x + 1; y + 1; endif x < 10; x + 1; y + 1; else x + 1; y + 1; endif x < 10; x + 1; y + 1; elseif x < 10; x + 1; y + 1; elsex + 1; y + 1; endtry x + 1; y + 1; catch; 1 + 1; endtry x + 1; y + 1; catch e; 1 + 1; endtry x + 1; y + 1; catch e; 1 + 1; finally 2 + 2; end$((1 + 2))$(Expr(:meta, aa, 2))var"##a#112" + 1::var"##a#112" + 1(a, b, c)(;a, b, c = 2)return (;a, b, c = 2)Base.@_inline_meta;Base.@goto abcBase.@label abc#= nothing:0 =# #= nothing:0 =##= nothing:0 =# aa #= nothing:0 =#(a; b)continue1 + 2 2 + xquote 1 + 2 2 + x endquote quote 1 + 2 2 + x end endquote quote quote 1 + 2 2 + x end end endbegin 1 + 2 2 + x endbegin quote quote 1 + 2 2 + x end end endquote quote 1 + 2 2 + x end end quote 1 + 2 2 + x endbegin quote quote 1 + 2 2 + x end end begin quote 1 + 2 2 + x end end endlet x = 1, y x + 1 endlet x = 1, y x + 1 endif a == 1 1 + 1 2 + 2 elseif a == 2 3 + 3 4 + 4 elseif a == 3 5 + 5 else 5 + 5 6 + 6 endif a == 1 1 + 1 2 + 2 else 5 + 5 6 + 6 endif a == 1 1 + 1 2 + 2 endif a == 1 if a == 1 1 + 1 2 + 2 else 1 + 1 end else 5 + 5 6 + 6 endif a == 1 1 + 1 else 5 + 5 endif a == 1 1 + 1 elseif a == 2 3 + 3 elseif a == 3 5 + 5 else 7 + 7 endif a == 1 1 + 1 elseif a == 2 3 + 3 elseif a == 3 5 + 5 endfor i in 1:10 1 + i endfor i in 1:10 #= /home/pkgeval/.julia/packages/ExproniconLite/4LrQ4/test/print/multi.jl:98 =# 1 + i #= /home/pkgeval/.julia/packages/ExproniconLite/4LrQ4/test/print/multi.jl:99 =# endfor (i, j) in zip(1:10, 1:5) #= /home/pkgeval/.julia/packages/ExproniconLite/4LrQ4/test/print/multi.jl:103 =# 1 + i #= /home/pkgeval/.julia/packages/ExproniconLite/4LrQ4/test/print/multi.jl:104 =# endwhile a < 10 1 + a endwhile a < 10 #= /home/pkgeval/.julia/packages/ExproniconLite/4LrQ4/test/print/multi.jl:107 =# 1 + a #= /home/pkgeval/.julia/packages/ExproniconLite/4LrQ4/test/print/multi.jl:108 =# endfunction foo(a, b; c) 1 + 1 endfunction foo(a, b; c) #= /home/pkgeval/.julia/packages/ExproniconLite/4LrQ4/test/print/multi.jl:111 =# #= /home/pkgeval/.julia/packages/ExproniconLite/4LrQ4/test/print/multi.jl:112 =# 1 + 1 endfunction foo(a, b; c) 1 + 1 endfunction foo(a, b; c) 1 + 1 endfoo(a, b; c) = 1 + 1macro foo(x, y::Int) 1 + 1 end@expr begin 1 + 1 end begin 1 + 1 end@__MODULE__quote Core.@doc """ aaaa """ sin(x) = begin x end endquote Core.@doc """ aaaa $aaa """ sin(x) = begin x end end@__MODULE__#= /home/pkgeval/.julia/packages/ExproniconLite/4LrQ4/test/print/multi.jl:151 =# @__MODULE__struct Foo{T} <: Goo a b::Int c::T Foo(x) = new(x) Foo(x, y) = if x + 1 == y new(x, y) else new(x, y, 1) end endstruct Foo{T} <: Goo a b::Int c::T Foo(x) = new(x) Foo(x, y) = if x + 1 == y new(x, y) else new(x, y, 1) end endfoo(x, y) = x + ytry 1 + 1 catch 2 + 2 endtry 1 + 1 catch e 2 + 2 endtry 1 + 1 finally 2 + 2 endtry 1 + 1 catch e 2 + 2 finally 2 + 2 endmodule ABC begin @static if !isdefined(@__MODULE__(), :include_generated) function __include_generated__(_path::String) Base.@_noinline_meta mod = @__MODULE__ (path, prev) = Base._include_dependency(mod, _path) code = read(path, String) tls = task_local_storage() tls[:SOURCE_PATH] = path try ex = include_string(mod, "quote $code end", path) mod.eval(mod.eval(ex)) return nothing finally if prev === nothing delete!(tls, :SOURCE_PATH) else tls[:SOURCE_PATH] = prev end end end end end 1 + 1 2 + 2 endconst X = if a == 1 1 + 1 2 + 2 else 3 + 3 4 + 4 endif x > 100 x + 1 elseif x > 90 x + 2 elseif x > 80 x + 3 else error("some error msg") endfoo() do endfoo() do x endfoo() do x, y, z endfoo() do x, y, z 1 + 1 2 + 2 endfoo() do x, y, z... 1 + 1 2 + 2 endfunction (p::InlinePrinter)(x, xs...; delim = ", ") p(x) for x in xs printstyled(p.io, delim; color = (p.color).keyword) p(x) end endfunction InlinePrinter(io::IO; color::ColorScheme = Monokai256(), line::Bool = false) InlinePrinter(io, color, line, InlinePrinterState()) end@foo "aaaaa" a b c@foo """ aaaaa aaaaa""" a b cfunction foo() msg = quote "expect $($(nargs)) arguments, got $(length(args)) arguments" end endfunction foo() msg = quote """ expect $($(nargs)) arguments , got $(length(args)) arguments""" end endfunction split_lines(ex)::Vector{Any} isa(ex, AbstractString) && return Any[[line] for line in eachsplit(ex, '\n')] endlet x, y x + 1 y + 1 endif x > 0 x + 1 endx < 0if x > 0 x + 1 elseif x > 1 x + 2 elseif x < 0 x + 3 else x + 4 endfunction foo(x, y::T; z::Int = 1) where {N, T <: Real} x + 1 endstruct Foo <: Super x::Int Foo(x::Int) = new(x) Foo(x::Int) = new(x) endmutable struct Goo <: Super x::Int Foo(x::Int) = new(x) Foo(x::Int) = new(x) endfunction compare_expr(lhs, rhs) @switch (lhs, rhs) begin @case (::Symbol, ::Symbol) lhs === rhs @case (Expr(:curly, name, lhs_vars...), Expr(:curly, &name, rhs_vars...)) all(map(compare_vars, lhs_vars, rhs_vars)) @case (Expr(:where, lbody, lparams...), Expr(:where, rbody, rparams...)) compare_expr(lbody, rbody) && all(map(compare_vars, lparams, rparams)) @case (Expr(head, largs...), Expr(&head, rargs...)) isempty(largs) && isempty(rargs) || length(largs) == length(rargs) && all(map(compare_expr, largs, rargs)) @case (::LineNumberNode, ::LineNumberNode) true @case _ lhs == rhs end endtry 1 + 1 catch e rethrow(ex) endtry 1 + 1 finally rethrow(ex) endtry 1 + 1 catch e rethrow(ex) finally 1 + 2 endfunction foo(x, y) 1 + 1 endstruct Moo x::Int end function Moo(; x = 1) Moo(x) end nothing nothingfor i in 1:10, j in 1:10 M[i, j] += 1 endfunction foo(i, j) for i in 1:10 M[i, j] += 1 end endCore.@doc """ foo(i, j) test function. test function. test function. test function. """ function foo(i, j) for i in 1:10 M[i, j] += 1 end endCore.@doc """ foo(i, j) test function. test function. test function. test function. """ function foo(i, j) function goo(x) return x end end(Base.Cartesian).@nexprs 16 k -> begin begin ST1 = U11 * st[b, (i + k)] + U12 * st[b, (i + step_1 + k)] ST2 = U21 * st[b, (i + k)] + U22 * st[b, (i + step_1 + k)] st[b, i + k] = ST1 st[b, i + step_1 + k] = ST2 end endtry ex = include_string(mod, "quote $code end", path) mod.eval(mod.eval(ex)) return nothing finally if prev === nothing delete!(tls, :SOURCE_PATH) else tls[:SOURCE_PATH] = prev end endtry x + 1; y + 1; catch e; 1 + 1; else x; finally 2 + 2; endtry 1 + 1 catch e 2 + 2 else e 3 + 3 finally 4 + 4 endtry 1 + 1 catch e 2 + 2 else e 3 + 3 endTest Summary: | Pass Total Time printings | 13 13 55.0s Test Summary: | Pass Total Time types | 5 5 0.5s function foo(x::Int, y::Type{T}) where {T <: Real} return x endfunction (x, y) return 2 endfunction ($(Expr(:parameters, kw = 2)), x, y) return "aaa" end(x, y) -> sin(x)function ($(Expr(:parameters, kw = 1)), x::Int) endfunction f((x::T); a = 10)::Int where {T} return x endf((x::Int))::Int = xstruct Foo; x::Int; end mutable struct Foo{T, (S <: Real)} <: AbstractArray; a::Float64; function foo(x, y, z); new(1); end; end Core.@doc("Foo\n", struct Foo; "xyz"; x::Int; y; Foo(x) = begin new(x) end; 1 + 1; end) begin struct Foo1{N, T}; x::T; end; begin function (Foo1{N, T})(; x = 1) where {N, T}; (Foo1{N, T})(x); end; function (Foo1{N})(; x = 1) where {N}; (Foo1{N})(x); end end; nothing end begin Core.@doc("Foo\n", mutable struct Foo; "abc"; a::Int; b; Foo(x) = begin new(x) end; 1 + 1; end); begin function Foo(; a = 1, b); Foo(a, b); end; nothing end; nothing end if foo(x); x = 1 + 1; elseif goo(x); y = 1 + 2; elseerror("abc"); end for i in 1:10; j in 1:20; k in 1:10; 1 + 1; end for i in 1:10; 1 + 1; end mutable struct Mutable const x::Int y::Int endTest Summary: | Pass Total Time analysis | 140 140 18.0s Test Summary: | Pass Total Time transform | 26 26 2.6s Test Summary: | Total Time match | 0 0.0s Test Summary: | Pass Total Time codegen | 13 13 0.6s Test Summary: | Total Time adt | 0 0.0s ┌ Warning: Unable to determine HTML(edit_link = ...) from remote HEAD branch, defaulting to "master". │ Calling `git remote` failed with an exception. Set JULIA_DEBUG=Documenter to see the error. │ Unless this is due to a configuration error, the relevant variable should be set explicitly. └ @ Documenter ~/.julia/packages/Documenter/tbj1p/src/utilities/utilities.jl:660 [ Info: SetupBuildDirectory: setting up build directory. [ Info: Doctest: running doctests. [ Info: Skipped ExpandTemplates step (doctest only). [ Info: Skipped CrossReferences step (doctest only). [ Info: Skipped CheckDocument step (doctest only). [ Info: Skipped Populate step (doctest only). [ Info: Skipped RenderDocument step (doctest only). Test Summary: | Pass Total Time Doctests: ExproniconLite | 1 1 44.0s Testing ExproniconLite tests passed Testing completed after 160.52s PkgEval succeeded after 284.13s