Package evaluation of Expronicon on Julia 1.11.4 (a71dd056e0*) started at 2025-04-08T07:13:33.793 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Set-up completed after 8.58s ################################################################################ # Installation # Installing Expronicon... Resolving package versions... Updating `~/.julia/environments/v1.11/Project.toml` [6b7a57c9] + Expronicon v0.10.14 Updating `~/.julia/environments/v1.11/Manifest.toml` [6b7a57c9] + Expronicon v0.10.14 [d8e11817] + MLStyle v0.4.17 Installation completed after 1.28s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompilation completed after 36.19s ################################################################################ # Testing # Testing Expronicon Status `/tmp/jl_ZDKXTZ/Project.toml` ⌅ [4c88cf16] Aqua v0.5.6 [e30172f5] Documenter v1.10.1 [6b7a57c9] Expronicon v0.10.14 [d8e11817] MLStyle v0.4.17 [44cfe95a] Pkg v1.11.0 [fa267f1f] TOML v1.0.3 [8dfed614] Test v1.11.0 Status `/tmp/jl_ZDKXTZ/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 [6b7a57c9] Expronicon 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 8.0s Test Summary: | Pass Total Time Unbound type parameters | 1 1 0.4s 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.5s Test Summary: | Pass Total Time Stale dependencies | 1 1 4.2s Test Summary: | Pass Total Time Compat bounds | 1 1 1.2s Test Summary: | Pass Total Time Project.toml formatting | 2 2 1.6s 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; 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:(using $(&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/Expronicon/m5jPv/test/print/multi.jl:101 =# 1 + i #= /home/pkgeval/.julia/packages/Expronicon/m5jPv/test/print/multi.jl:102 =# endfor (i, j) in zip(1:10, 1:5) #= /home/pkgeval/.julia/packages/Expronicon/m5jPv/test/print/multi.jl:108 =# 1 + i #= /home/pkgeval/.julia/packages/Expronicon/m5jPv/test/print/multi.jl:109 =# endwhile a < 10 1 + a endwhile a < 10 #= /home/pkgeval/.julia/packages/Expronicon/m5jPv/test/print/multi.jl:114 =# 1 + a #= /home/pkgeval/.julia/packages/Expronicon/m5jPv/test/print/multi.jl:115 =# endfunction foo(a, b; c) 1 + 1 endfunction foo(a, b; c) #= /home/pkgeval/.julia/packages/Expronicon/m5jPv/test/print/multi.jl:120 =# #= /home/pkgeval/.julia/packages/Expronicon/m5jPv/test/print/multi.jl:121 =# 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 """ aaaa """ sin(x) = x endquote """ aaaa $aaa """ sin(x) = x end@__MODULE__#= /home/pkgeval/.julia/packages/Expronicon/m5jPv/test/print/multi.jl:172 =# @__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 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 end""" 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 end""" 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 52.3s 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) = new(x); 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) = new(x); 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 17.1s Test Summary: | Pass Total Time transform | 26 26 2.5s @match x begin;1 => true; 2 => sin(x); 3 => begin 1 + 2; 3 + 4 end; end function test_match(x); let ; true; var"##return#396" = nothing; var"##398" = x; if isa(var"##398", Int64); if var"##398" === 1; (var"##return#396" = let ; true; end; @goto(var"####final#397#399")); end; if var"##398" === 2; (var"##return#396" = let ; sin(x); end; @goto(var"####final#397#399")); end; if var"##398" === 3; (var"##return#396" = let ; 1 + 2; 3 + 4; end; @goto(var"####final#397#399")); end; end; (var"##return#396" = let ; nothing; end; @goto(var"####final#397#399")); (error)("matching non-exhaustive, at #= line 0 =#"); @label(var"####final#397#399"); var"##return#396"; end; end WARNING: Method definition test_match(Any) in module Main overwritten. @match x begin 1 => true 2 => sin(x) 3 => begin 1 + 2 3 + 4 end endTest Summary: | Pass Total Time match | 22 22 16.8s Test Summary: | Pass Total Time codegen | 13 13 0.6s contract ├─ [2, 3] ⇒ reshape │ └─ reshape │ └─ A └─ [1, 2] ⇒ Areshape └─ Ax ⊕ yz ⊕ xz ⊕ 2x ⊕ y(x ⊕ y) ⊙ (x ⊕ y) ⊙ (z ⊕ x) ⊕ (x ⊕ y) ⊙ (z ⊕ x) ⊙ (z ⊕ x)x ⊙ (x ⊙ (x ⊙ (x ⊙ (x ⊙ (x ⊕ y) ⊕ y) ⊕ y) ⊕ y) ⊕ y)Add ├─ 1 ⇒ Literal(x) └─ 1 ⇒ Literal(y)Add ├─ 1 ⇒ Literal(z) └─ 1 ⇒ Literal(x)Add ├─ 1 ⇒ Literal(z) ├─ 2 ⇒ Literal(x) └─ 1 ⇒ Literal(y)Add ├─ 1 ⇒ Mul │ ├─ Add │ │ ├─ 1 ⇒ Literal(x) │ │ └─ 1 ⇒ Literal(y) │ ├─ Add │ │ ├─ 1 ⇒ Literal(x) │ │ └─ 1 ⇒ Literal(y) │ └─ Add │ ├─ 1 ⇒ Literal(z) │ └─ 1 ⇒ Literal(x) └─ 1 ⇒ Mul ├─ Add │ ├─ 1 ⇒ Literal(x) │ └─ 1 ⇒ Literal(y) ├─ Add │ ├─ 1 ⇒ Literal(z) │ └─ 1 ⇒ Literal(x) └─ Add ├─ 1 ⇒ Literal(z) └─ 1 ⇒ Literal(x)Mul ├─ Literal(x) └─ Add ├─ 1 ⇒ Mul │ ├─ Literal(x) │ └─ Add │ ├─ 1 ⇒ Mul │ │ ├─ Literal(x) │ │ └─ Add │ │ ├─ 1 ⇒ Mul ⋮ │ │ └─ 1 ⇒ Literal(y) ⋮ │ └─ 1 ⇒ Literal(y) └─ 1 ⇒ Literal(y)Test Summary: | Pass Total Time adt | 87 87 1m23.1s ┌ 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: Expronicon | 1 1 1m13.1s Testing Expronicon tests passed Testing completed after 292.4s PkgEval succeeded after 349.45s