Package evaluation to test ImmutableList on Julia 1.14.0-DEV.2226 (797a5ef2b0*) started at 2026-05-23T16:03:48.530 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 16.21s ################################################################################ # Installation # Installing ImmutableList... Resolving package versions... Installed ImmutableList ─ v0.1.1 Updating `~/.julia/environments/v1.14/Project.toml` [4a558cac] + ImmutableList v0.1.1 Updating `~/.julia/environments/v1.14/Manifest.toml` [4a558cac] + ImmutableList v0.1.1 [2a0f44e3] + Base64 v1.11.0 [b77e0a4c] + InteractiveUtils v1.11.0 [ac6e5ff7] + JuliaSyntaxHighlighting v1.13.0 [56ddb016] + Logging v1.11.0 [d6f4376e] + Markdown v1.11.0 [9a3f8284] + Random v1.11.0 [ea8e919c] + SHA v1.13.0 [9e88b42a] + Serialization v1.11.0 [f489334b] + StyledStrings v1.13.0 [8dfed614] + Test v1.11.0 Installation completed after 1.5s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling project... 5.4 s ✓ TestEnv 1 dependency successfully precompiled in 6 seconds. 27 already precompiled. Precompiling package dependencies... Precompiling project... ERROR: LoadError: LoweringError: #= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:72 =# - method definition declares type variable but does not use it in the type of any function parameter Expression:  (_typevar T core.Any core.Any) Containing expressions:  (_typevar T core.Any core.Any)  Detailed provenance:  (_typevar T core.Any core.Any) @#= /source/usr/share/julia/JuliaLowering/src/desugaring.jl:3012 =#  └─ T  └─ T  └─ T  ├─ @ /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:72  └─ (macrocall @doc :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:32 =#) " This module provides an immutable list compatible with\n the MetaModelica list datatype. It is immutable and supports common operations\n associated with immutable single linked lists such as map and reduce.\n" (module true ListDef (block (struct false (curly Nil T) (block)) (struct false (curly Cons T) (block (:: head T) (:: tail (curly Union Nil (curly Cons T))))) (const (= (curly List T) (curly Union (curly Nil T) (curly Cons T) Nil))) (= (call List) (block (call (curly Nil Any)))) (= (call Nil) (block (call List))) (macrocall @doc :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:59 =#) " For converting lists with more then one element" (= (where (call (. Base (inert convert)) (:: (curly Type (curly List S))) (:: x (curly Cons T))) S (<: T S)) (block (let (block) (block (call List S x)))))) (macrocall @doc :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:64 =#) " For converting lists of lists " (= (where (call (. Base (inert convert)) (:: (curly Type T)) (:: x Cons)) (<: T List)) (block (let (block) (block (if (call isa x T) x (call List (call eltype T) x))))))) (= (where (call (. Base (inert convert)) (:: (curly Type (curly List T))) (:: x (curly Cons T))) T) (block x)) (= (where (call (. Base (inert convert)) (:: (curly Type (curly Cons T))) (:: x (curly Cons T))) T) (block x)) (= (where (call (. Base (inert convert)) (:: (curly Type Nil)) (:: x Nil)) T) (block nil)) (= (where (call (. Base (inert promote_rule)) (:: a (curly Type (curly Cons T))) (:: b (curly Type (curly Cons S)))) T S) (block (let (block) (block (call el_same (call promote_type T S) a b))))) (= (where (call (. Base (inert eltype)) (:: (curly Type (curly List T)))) T) (block (let (block) (block T)))) (= (where (call (. Base (inert eltype)) (:: (curly List T))) T) (block (let (block) (block T)))) (= (where (call (. Base (inert eltype)) (:: (curly Type (curly Cons T)))) T) (block (let (block) (block T)))) (= (where (call (. Base (inert eltype)) (:: (curly Type Nil))) T) (block (let (block) (block Nil)))) (= (where (call (. Base (inert eltype)) (:: Nil)) T) (block (let (block) (block Any)))) (macrocall @doc :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:99 =#) " O(n) " (function (where (:: (call listReverse (:: inLst (curly List T))) (curly List T)) T) (block (local (= (:: outLst List) nil)) (if (call isa inLst Nil) (block (return nil))) (while true (block (if (call isa inLst Nil) (block (break))) (= outLst (call (curly Cons T) (. inLst (inert head)) outLst)) (= inLst (. inLst (inert tail))))) outLst))) (macrocall @doc :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:116 =#) " For \"Efficient\" casting... O(N) * C\" " (= (call List (:: T Type) args) (block (let (block) (block (if (call isa args Nil) (block (return nil))) (local (= (:: lst1 (curly Cons T)) (call (curly Cons T) (call convert T (. args (inert head))) nil))) (if (call isa (. args (inert tail)) Nil) (block (return lst1))) (for (= i (. args (inert tail))) (block (= lst1 (call (curly Cons T) (call convert T i) lst1)))) (call listReverse lst1)))))) (const (= nil (call List))) (= (call list) (block nil)) (function (where (:: (call list (... (:: els T))) (curly List T)) (<: T Number)) (block (local (= (:: lst (curly List T)) nil)) (for (= i (call : (call length els) -1 1)) (block (= lst (call (curly Cons T) (ref els i) lst)))) lst)) (function (where (call list (:: a A) (:: b B) (... els)) A B) (block (local (= (:: S Type) (call typejoin A B (call eltype els)))) (macrocall @assert :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:147 =#) (call != S Any)) (local (= (:: lst (curly Cons S)) (call (curly Cons S) a (call (curly Cons S) b nil)))) (for (= i (call : (call length els) -1 1)) (block (= lst (call (curly Cons S) (ref els i) lst)))) lst)) (function (where (call list (:: a T)) T) (block (call (curly Cons T) a nil))) (function (where (call list (:: a A) (:: b B)) A B) (block (local (= (:: S Type) (call typejoin A B))) (macrocall @assert :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:163 =#) (call != S Any)) (call (curly Cons S) a (call (curly Cons S) b nil)))) (= (where (call cons (:: v T) (:: Nil)) T) (block (call (curly Cons T) v nil))) (= (where (call cons (:: v T) (:: l (curly Cons T))) T) (block (call (curly Cons T) v l))) (= (where (call cons (:: v A) (:: l (curly Cons B))) A B) (block (let (block) (block (= C (call typejoin A B)) (macrocall @assert :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:171 =#) (call != C Any)) (call (curly Cons C) (call convert C v) (call convert (curly Cons C) l)))))) (macrocall @doc :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:175 =#) "_cons is a special cons function that returns a list of the common\nabstract type instead of the type of the struct itself. Using this\nmay avoid future type conversions on the entire list to occur.\nUse this in particular in generated code where you cannot use cons\nresponsibly.\n" (function (where (call _cons (:: head A) (:: tail (curly Cons B))) A B) (block (= C (call typejoin A B)) (= D (call supertype C)) (if (&& (call isstructtype C) (&& (call ! (call isabstracttype C)) (call isabstracttype D))) (block (call (curly Cons D) (call convert D head) (call convert (curly List D) tail))) (block (call (curly Cons C) (call convert C head) (call convert (curly List C) tail))))))) (= (where (call _cons (:: head T) (:: tail Nil)) T) (block (call (curly Cons T) head nil))) (= (where (call consExternalC (:: (curly Type T)) (:: v X) (:: l (curly List T))) T (<: X T)) (block (call (curly Cons T) v l))) (macrocall @doc :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:195 =#) " <| Right associative cons operator " (= (call <| v (:: lst Nil)) (block (call cons v nil)))) (= (where (call <| v (:: lst (curly Cons T))) T) (block (call cons v lst))) (= (where (call <| (:: v S) (:: lst (curly Cons T))) T (<: S T)) (block (call cons v lst))) (= (:: (call (. Base (inert length)) (:: l Nil)) Int) (block 0)) (function (:: (call (. Base (inert length)) (:: l List)) Int) (block (local (= (:: n Int) 0)) (for (= _ l) (block (unknown_head n 1))) n)) (= (call (. Base (inert iterate)) (:: Nil)) (block nothing)) (= (call (. Base (inert iterate)) (:: x Cons) (:: y Nil)) (block nothing)) (function (call (. Base (inert iterate)) (:: l Cons) (kw (:: state List) l)) (block (tuple (. state (inert head)) (. state (inert tail))))) (macrocall @doc :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:216 =#) " For list comprehension. Unless we switch to mutable structs this is the way to go I think.\n Seems to be more efficient then what the omc currently does.\n" (= (call list F (:: C (. Base (inert Generator)))) (block (let (block) (block (call list (... (call collect (call (. Base (inert Generator)) F C))))))))) (macrocall @doc :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:224 =#) " Comprehension without a function(!) " (= (call list (:: C (. Base (inert Generator)))) (block (let (block) (block (call list (-> i (block i)) C)))))) (macrocall @doc :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:230 =#) " Adds the ability for Julia to flatten MMlists " (= (call list (:: X (. (. Base (inert Iterators)) (inert Flatten)))) (block (let (block) (block (call list (... (vect (... X))))))))) (macrocall @doc :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:235 =#) " List Reductions\n" (= (where (call list (:: X (curly (. Base (inert Generator)) (curly (. (. Base (inert Iterators)) (inert ProductIterator)) Y) Z))) Y Z) (block (let (block) (block (= x (call collect X)) (call list (generator (call list (... i)) (= i (. view (tuple (vect x) (call : 1 (call size x 1)) :)))))))))) (macrocall @doc :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:243 =#) "Generates the transformation:\n @do_threaded_for expr with (iter_names) iterators =>\n \$expr for \$iterator_names in list(zip(\$iters...)...)\n" (function (call make_threaded_for expr iter_names ranges) (block (= (:: iterExpr Expr) (call Expr (inert tuple) (... (. iter_names (inert args))))) (= (:: rangeExpr Expr) (= ranges (ref (vect (... ranges)) 1))) (= rangeExprArgs (. rangeExpr (inert args))) (call |> (quote (generator ($ expr) (= ($ iterExpr) (vect (... (call zip ($ (... rangeExprArgs)))))))) esc)))) (macro (call do_threaded_for (:: expr Expr) (:: iter_names Expr) (... ranges)) (block (call make_threaded_for expr iter_names ranges))) (macrocall @doc :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:259 =#) " Sorts the list by first converting it into an array " (= (call (. Base (inert sort)) (:: lst List)) (block (let (block) (block (call list (... (call sort (call collect lst))))))))) (export List list cons <| nil _cons) (export @do_threaded_for Cons Nil listReverse))))  └─ @ /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:32  Stacktrace:  [1] expand_function_def(ctx::Base.JuliaLowering.DesugaringContext{Dict{Symbol, Dict{Int64, Any}}}, src::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}}, raw_args::Base.JuliaSyntax.SyntaxList{Dict{Symbol, Dict{Int64, Any}}, Vector{Int64}}, wheres::Base.JuliaSyntax.SyntaxList{Dict{Symbol, Dict{Int64, Any}}, Vector{Int64}}, body::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}}, rett::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/desugaring.jl:2860  [2] expand_forms_2(ctx::Base.JuliaLowering.DesugaringContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}}, docs::Nothing)  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/desugaring.jl:4268  [3] Dict{Int64, Int64}()  @ Base /source/usr/share/julia/JuliaLowering/src/desugaring.jl:4152 [inlined]  [4] expand_forms_2(ctx::Base.JuliaLowering.MacroExpansionContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/desugaring.jl:4469  [5] lower_step(iter::Base.JuliaLowering.LoweringIterator{Dict{Symbol, Dict{Int64, Any}}}, mod::Module, world::UInt64; soft_scope::Nothing)  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/eval.jl:90  [6] getindex(A::Vector{Module}, i::Int64)  @ Base /source/usr/share/julia/JuliaLowering/src/eval.jl:45 [inlined]  [7] _eval(mod::Module, iter::Base.JuliaLowering.LoweringIterator{Dict{Symbol, Dict{Int64, Any}}}; soft_scope::Nothing)  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/eval.jl:479  [8] _eval  @ /source/usr/share/julia/JuliaLowering/src/eval.jl:475 [inlined]  [9] #eval#134  @ /source/usr/share/julia/JuliaLowering/src/eval.jl:467 [inlined]  [10] top-level scope  @ ~/.julia/packages/ImmutableList/oACVm/src/list.jl:32  [11] macro expansion  @ ~/.julia/packages/ImmutableList/oACVm/src/list.jl:32 [inlined]  [12] include(mapexpr::Function, mod::Module, _path::String)  @ Base ./Base.jl:327  [13] top-level scope  @ ~/.julia/packages/ImmutableList/oACVm/src/ImmutableList.jl:33  [14] include(mod::Module, _path::String)  @ Base ./Base.jl:326  [15] include_package_for_output(pkg::Base.PkgId, input::String, syntax_version::VersionNumber, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)  @ Base ./loading.jl:3271  [16] top-level scope  @ stdin:5  [17] eval(m::Module, e::Any)  @ Core ./boot.jl:517  [18] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)  @ Base ./loading.jl:3113  [19] push!(a::Vector{SubString{String}}, item::String)  @ Base ./loading.jl:3123 [inlined]  [20] exec_options(opts::Base.JLOptions)  @ Base ./client.jl:353  [21] _start()  @ Base ./client.jl:596 in expression starting at /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:32 in expression starting at /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/ImmutableList.jl:32 in expression starting at stdin:5 ✗ ImmutableList Precompilation completed after 33.63s ################################################################################ # Testing # Testing ImmutableList Status `/tmp/jl_DOEtdh/Project.toml` [4a558cac] ImmutableList v0.1.1 [8dfed614] Test v1.11.0 Status `/tmp/jl_DOEtdh/Manifest.toml` [4a558cac] ImmutableList v0.1.1 [2a0f44e3] Base64 v1.11.0 [b77e0a4c] InteractiveUtils v1.11.0 [ac6e5ff7] JuliaSyntaxHighlighting v1.13.0 [56ddb016] Logging v1.11.0 [d6f4376e] Markdown v1.11.0 [9a3f8284] Random v1.11.0 [ea8e919c] SHA v1.13.0 [9e88b42a] Serialization v1.11.0 [f489334b] StyledStrings v1.13.0 [8dfed614] Test v1.11.0 Testing Running tests... ERROR: LoadError: LoweringError: #= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:72 =# - method definition declares type variable but does not use it in the type of any function parameter Expression:  (_typevar T core.Any core.Any) Containing expressions:  (_typevar T core.Any core.Any)  Detailed provenance:  (_typevar T core.Any core.Any) @#= /source/usr/share/julia/JuliaLowering/src/desugaring.jl:3012 =#  └─ T  └─ T  └─ T  ├─ @ /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:72  └─ (macrocall @doc :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:32 =#) " This module provides an immutable list compatible with\n the MetaModelica list datatype. It is immutable and supports common operations\n associated with immutable single linked lists such as map and reduce.\n" (module true ListDef (block (struct false (curly Nil T) (block)) (struct false (curly Cons T) (block (:: head T) (:: tail (curly Union Nil (curly Cons T))))) (const (= (curly List T) (curly Union (curly Nil T) (curly Cons T) Nil))) (= (call List) (block (call (curly Nil Any)))) (= (call Nil) (block (call List))) (macrocall @doc :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:59 =#) " For converting lists with more then one element" (= (where (call (. Base (inert convert)) (:: (curly Type (curly List S))) (:: x (curly Cons T))) S (<: T S)) (block (let (block) (block (call List S x)))))) (macrocall @doc :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:64 =#) " For converting lists of lists " (= (where (call (. Base (inert convert)) (:: (curly Type T)) (:: x Cons)) (<: T List)) (block (let (block) (block (if (call isa x T) x (call List (call eltype T) x))))))) (= (where (call (. Base (inert convert)) (:: (curly Type (curly List T))) (:: x (curly Cons T))) T) (block x)) (= (where (call (. Base (inert convert)) (:: (curly Type (curly Cons T))) (:: x (curly Cons T))) T) (block x)) (= (where (call (. Base (inert convert)) (:: (curly Type Nil)) (:: x Nil)) T) (block nil)) (= (where (call (. Base (inert promote_rule)) (:: a (curly Type (curly Cons T))) (:: b (curly Type (curly Cons S)))) T S) (block (let (block) (block (call el_same (call promote_type T S) a b))))) (= (where (call (. Base (inert eltype)) (:: (curly Type (curly List T)))) T) (block (let (block) (block T)))) (= (where (call (. Base (inert eltype)) (:: (curly List T))) T) (block (let (block) (block T)))) (= (where (call (. Base (inert eltype)) (:: (curly Type (curly Cons T)))) T) (block (let (block) (block T)))) (= (where (call (. Base (inert eltype)) (:: (curly Type Nil))) T) (block (let (block) (block Nil)))) (= (where (call (. Base (inert eltype)) (:: Nil)) T) (block (let (block) (block Any)))) (macrocall @doc :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:99 =#) " O(n) " (function (where (:: (call listReverse (:: inLst (curly List T))) (curly List T)) T) (block (local (= (:: outLst List) nil)) (if (call isa inLst Nil) (block (return nil))) (while true (block (if (call isa inLst Nil) (block (break))) (= outLst (call (curly Cons T) (. inLst (inert head)) outLst)) (= inLst (. inLst (inert tail))))) outLst))) (macrocall @doc :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:116 =#) " For \"Efficient\" casting... O(N) * C\" " (= (call List (:: T Type) args) (block (let (block) (block (if (call isa args Nil) (block (return nil))) (local (= (:: lst1 (curly Cons T)) (call (curly Cons T) (call convert T (. args (inert head))) nil))) (if (call isa (. args (inert tail)) Nil) (block (return lst1))) (for (= i (. args (inert tail))) (block (= lst1 (call (curly Cons T) (call convert T i) lst1)))) (call listReverse lst1)))))) (const (= nil (call List))) (= (call list) (block nil)) (function (where (:: (call list (... (:: els T))) (curly List T)) (<: T Number)) (block (local (= (:: lst (curly List T)) nil)) (for (= i (call : (call length els) -1 1)) (block (= lst (call (curly Cons T) (ref els i) lst)))) lst)) (function (where (call list (:: a A) (:: b B) (... els)) A B) (block (local (= (:: S Type) (call typejoin A B (call eltype els)))) (macrocall @assert :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:147 =#) (call != S Any)) (local (= (:: lst (curly Cons S)) (call (curly Cons S) a (call (curly Cons S) b nil)))) (for (= i (call : (call length els) -1 1)) (block (= lst (call (curly Cons S) (ref els i) lst)))) lst)) (function (where (call list (:: a T)) T) (block (call (curly Cons T) a nil))) (function (where (call list (:: a A) (:: b B)) A B) (block (local (= (:: S Type) (call typejoin A B))) (macrocall @assert :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:163 =#) (call != S Any)) (call (curly Cons S) a (call (curly Cons S) b nil)))) (= (where (call cons (:: v T) (:: Nil)) T) (block (call (curly Cons T) v nil))) (= (where (call cons (:: v T) (:: l (curly Cons T))) T) (block (call (curly Cons T) v l))) (= (where (call cons (:: v A) (:: l (curly Cons B))) A B) (block (let (block) (block (= C (call typejoin A B)) (macrocall @assert :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:171 =#) (call != C Any)) (call (curly Cons C) (call convert C v) (call convert (curly Cons C) l)))))) (macrocall @doc :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:175 =#) "_cons is a special cons function that returns a list of the common\nabstract type instead of the type of the struct itself. Using this\nmay avoid future type conversions on the entire list to occur.\nUse this in particular in generated code where you cannot use cons\nresponsibly.\n" (function (where (call _cons (:: head A) (:: tail (curly Cons B))) A B) (block (= C (call typejoin A B)) (= D (call supertype C)) (if (&& (call isstructtype C) (&& (call ! (call isabstracttype C)) (call isabstracttype D))) (block (call (curly Cons D) (call convert D head) (call convert (curly List D) tail))) (block (call (curly Cons C) (call convert C head) (call convert (curly List C) tail))))))) (= (where (call _cons (:: head T) (:: tail Nil)) T) (block (call (curly Cons T) head nil))) (= (where (call consExternalC (:: (curly Type T)) (:: v X) (:: l (curly List T))) T (<: X T)) (block (call (curly Cons T) v l))) (macrocall @doc :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:195 =#) " <| Right associative cons operator " (= (call <| v (:: lst Nil)) (block (call cons v nil)))) (= (where (call <| v (:: lst (curly Cons T))) T) (block (call cons v lst))) (= (where (call <| (:: v S) (:: lst (curly Cons T))) T (<: S T)) (block (call cons v lst))) (= (:: (call (. Base (inert length)) (:: l Nil)) Int) (block 0)) (function (:: (call (. Base (inert length)) (:: l List)) Int) (block (local (= (:: n Int) 0)) (for (= _ l) (block (unknown_head n 1))) n)) (= (call (. Base (inert iterate)) (:: Nil)) (block nothing)) (= (call (. Base (inert iterate)) (:: x Cons) (:: y Nil)) (block nothing)) (function (call (. Base (inert iterate)) (:: l Cons) (kw (:: state List) l)) (block (tuple (. state (inert head)) (. state (inert tail))))) (macrocall @doc :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:216 =#) " For list comprehension. Unless we switch to mutable structs this is the way to go I think.\n Seems to be more efficient then what the omc currently does.\n" (= (call list F (:: C (. Base (inert Generator)))) (block (let (block) (block (call list (... (call collect (call (. Base (inert Generator)) F C))))))))) (macrocall @doc :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:224 =#) " Comprehension without a function(!) " (= (call list (:: C (. Base (inert Generator)))) (block (let (block) (block (call list (-> i (block i)) C)))))) (macrocall @doc :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:230 =#) " Adds the ability for Julia to flatten MMlists " (= (call list (:: X (. (. Base (inert Iterators)) (inert Flatten)))) (block (let (block) (block (call list (... (vect (... X))))))))) (macrocall @doc :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:235 =#) " List Reductions\n" (= (where (call list (:: X (curly (. Base (inert Generator)) (curly (. (. Base (inert Iterators)) (inert ProductIterator)) Y) Z))) Y Z) (block (let (block) (block (= x (call collect X)) (call list (generator (call list (... i)) (= i (. view (tuple (vect x) (call : 1 (call size x 1)) :)))))))))) (macrocall @doc :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:243 =#) "Generates the transformation:\n @do_threaded_for expr with (iter_names) iterators =>\n \$expr for \$iterator_names in list(zip(\$iters...)...)\n" (function (call make_threaded_for expr iter_names ranges) (block (= (:: iterExpr Expr) (call Expr (inert tuple) (... (. iter_names (inert args))))) (= (:: rangeExpr Expr) (= ranges (ref (vect (... ranges)) 1))) (= rangeExprArgs (. rangeExpr (inert args))) (call |> (quote (generator ($ expr) (= ($ iterExpr) (vect (... (call zip ($ (... rangeExprArgs)))))))) esc)))) (macro (call do_threaded_for (:: expr Expr) (:: iter_names Expr) (... ranges)) (block (call make_threaded_for expr iter_names ranges))) (macrocall @doc :(#= /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:259 =#) " Sorts the list by first converting it into an array " (= (call (. Base (inert sort)) (:: lst List)) (block (let (block) (block (call list (... (call sort (call collect lst))))))))) (export List list cons <| nil _cons) (export @do_threaded_for Cons Nil listReverse))))  └─ @ /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:32  Stacktrace:  [1] expand_function_def(ctx::Base.JuliaLowering.DesugaringContext{Dict{Symbol, Dict{Int64, Any}}}, src::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}}, raw_args::Base.JuliaSyntax.SyntaxList{Dict{Symbol, Dict{Int64, Any}}, Vector{Int64}}, wheres::Base.JuliaSyntax.SyntaxList{Dict{Symbol, Dict{Int64, Any}}, Vector{Int64}}, body::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}}, rett::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/desugaring.jl:2860  [2] expand_forms_2(ctx::Base.JuliaLowering.DesugaringContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}}, docs::Nothing)  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/desugaring.jl:4268  [3] Dict{Int64, Int64}()  @ Base /source/usr/share/julia/JuliaLowering/src/desugaring.jl:4152 [inlined]  [4] expand_forms_2(ctx::Base.JuliaLowering.MacroExpansionContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/desugaring.jl:4469  [5] lower_step(iter::Base.JuliaLowering.LoweringIterator{Dict{Symbol, Dict{Int64, Any}}}, mod::Module, world::UInt64; soft_scope::Nothing)  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/eval.jl:90  [6] getindex(A::Vector{Module}, i::Int64)  @ Base /source/usr/share/julia/JuliaLowering/src/eval.jl:45 [inlined]  [7] _eval(mod::Module, iter::Base.JuliaLowering.LoweringIterator{Dict{Symbol, Dict{Int64, Any}}}; soft_scope::Nothing)  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/eval.jl:479  [8] _eval  @ /source/usr/share/julia/JuliaLowering/src/eval.jl:475 [inlined]  [9] #eval#134  @ /source/usr/share/julia/JuliaLowering/src/eval.jl:467 [inlined]  [10] top-level scope  @ ~/.julia/packages/ImmutableList/oACVm/src/list.jl:32  [11] macro expansion  @ ~/.julia/packages/ImmutableList/oACVm/src/list.jl:32 [inlined]  [12] include(mapexpr::Function, mod::Module, _path::String)  @ Base ./Base.jl:327  [13] top-level scope  @ ~/.julia/packages/ImmutableList/oACVm/src/ImmutableList.jl:33  [14] include(mod::Module, _path::String)  @ Base ./Base.jl:326  [15] include_package_for_output(pkg::Base.PkgId, input::String, syntax_version::VersionNumber, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)  @ Base ./loading.jl:3271  [16] top-level scope  @ stdin:5  [17] eval(m::Module, e::Any)  @ Core ./boot.jl:517  [18] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)  @ Base ./loading.jl:3113  [19] push!(a::Vector{SubString{String}}, item::String)  @ Base ./loading.jl:3123 [inlined]  [20] exec_options(opts::Base.JLOptions)  @ Base ./client.jl:353  [21] _start()  @ Base ./client.jl:596 in expression starting at /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/list.jl:32 in expression starting at /home/pkgeval/.julia/packages/ImmutableList/oACVm/src/ImmutableList.jl:32 in expression starting at stdin:5 1 dependency had output during precompilation: ┌ ImmutableList │ [Output was shown above] └ ERROR: LoadError: The following 1 package failed to precompile: ImmutableList Failed to precompile ImmutableList [4a558cac-c1ed-11e9-20da-3584bcd8709a] to "/home/pkgeval/.julia/compiled/v1.14/ImmutableList/jl_dLQmJi" (ProcessExited(1)). in expression starting at /home/pkgeval/.julia/packages/ImmutableList/oACVm/test/runtests.jl:1 Testing failed after 17.15s ERROR: LoadError: Package ImmutableList 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:3247 [3] Cmd(cmd::Cmd) @ Base /opt/julia/share/julia/stdlib/v1.14/Pkg/src/Operations.jl:3110 [inlined] [4] 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 [5] 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 [6] test(pkgs::Vector{String}; kwargs::@Kwargs{julia_args::Cmd}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:160 [7] test @ /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:160 [inlined] [8] test(pkg::String; kwargs::@Kwargs{julia_args::Cmd}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:159 [inlined] [9] top-level scope @ /PkgEval.jl/scripts/evaluate.jl:223 [10] include(mod::Module, _path::String) @ Base ./Base.jl:326 [11] exec_options(opts::Base.JLOptions) @ Base ./client.jl:355 [12] _start() @ Base ./client.jl:596 in expression starting at /PkgEval.jl/scripts/evaluate.jl:214 PkgEval failed after 86.48s: package fails to precompile