Package evaluation to test StableHashTraits on Julia 1.14.0-DEV.2373 (cf67ecc88f*) started at 2026-06-13T06:39:24.457 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 15.8s ################################################################################ # Installation # Installing StableHashTraits... Resolving package versions... Installed DataAPI ───────────────────── v1.16.0 Installed IteratorInterfaceExtensions ─ v1.0.0 Installed DataValueInterfaces ───────── v1.0.0 Installed TableTraits ───────────────── v1.0.1 Installed StructTypes ───────────────── v1.11.0 Installed Tables ────────────────────── v1.12.1 Installed Compat ────────────────────── v4.18.1 Installed TupleTools ────────────────── v1.6.0 Installed StableHashTraits ──────────── v2.0.3 Installed OrderedCollections ────────── v1.8.2 Updating `~/.julia/environments/v1.14/Project.toml` [c5dd0088] + StableHashTraits v2.0.3 Updating `~/.julia/environments/v1.14/Manifest.toml` [34da2185] + Compat v4.18.1 [9a962f9c] + DataAPI v1.16.0 [e2d170a0] + DataValueInterfaces v1.0.0 [82899510] + IteratorInterfaceExtensions v1.0.0 ⌅ [bac558e1] + OrderedCollections v1.8.2 [c5dd0088] + StableHashTraits v2.0.3 [856f2bd8] + StructTypes v1.11.0 [3783bdb8] + TableTraits v1.0.1 [bd369af6] + Tables v1.12.1 [9d95972d] + TupleTools v1.6.0 [ade2ca70] + Dates v1.11.0 [de0858da] + Printf v1.11.0 [9a3f8284] + Random v1.11.0 [ea8e919c] + SHA v1.13.0 [fa267f1f] + TOML v1.0.3 [cf7118a7] + UUIDs v1.11.0 [4ec0a83e] + Unicode v1.11.0 Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated -m` Installation completed after 1.77s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling project... 6.3 s ✓ TestEnv 1 dependency successfully precompiled in 6 seconds. 27 already precompiled. Precompiling package dependencies... Precompiling project... 273.5 s ✓ InlineStrings 0.6 s ✓ Reexport 0.6 s ✓ IndirectArrays 0.9 s ✓ MappedArrays 1.0 s ✓ DataAPI 0.9 s ✓ TensorCore 1.1 s ✓ Statistics 3.2 s ✓ ExproniconLite 1.2 s ✓ Tricks 0.5 s ✓ DataValueInterfaces 0.6 s ✓ StatsAPI 33.9 s ✓ URIs 0.6 s ✓ Retry 0.9 s ✓ LazilyInitializedFields 127.8 s ✓ OrderedCollections 2.2 s ✓ PrecompileSignatures 48.9 s ✓ InvertedIndices 0.8 s ✓ HashArrayMappedTries 0.8 s ✓ DeepDiffs 33.3 s ✓ BitFlags 334.4 s ✓ IterTools 0.7 s ✓ IniFile 82.9 s ✓ OffsetArrays 0.8 s ✓ ExprTools 80.4 s ✓ LRUCache 1.7 s ✓ ExpressionExplorer 0.7 s ✓ SimpleBufferStream 46.1 s ✓ TranscodingStreams 3.6 s ✓ MIMEs 0.5 s ✓ IteratorInterfaceExtensions 1.0 s ✓ TupleTools 35.1 s ✓ LaTeXStrings 1.9 s ✓ Crayons 0.8 s ✓ ArrowTypes 1.1 s ✓ Requires 1.5 s ✓ MsgPack 1.6 s ✓ ConcurrentUtilities 134.1 s ✓ SentinelArrays 2.0 s ✓ Scratch 3.2 s ✓ StructTypes 2.3 s ✓ LoggingExtras 2.8 s ✓ StructUtils 1.4 s ✓ Compat 2.5 s ✓ Preferences 34.4 s ✓ ExceptionUnwrapping 0.6 s ✓ SymDict 47.2 s ✓ Missings 20.8 s ✓ PooledArrays 53.1 s ✓ FixedPointNumbers 1.5 s ✓ HypertextLiteral 1.7 s ✓ Distances 6.7 s ✓ RegistryInstances 144.9 s ✓ DataStructures 38.5 s ✓ Configurations 0.9 s ✓ ScopedValues 69.4 s ✓ OpenSSL 35.2 s ✓ StackViews 35.4 s ✓ PaddedViews 32.5 s ✓ LRUCache → SerializationExt ┌ Info: JuliaLowering threw given input: │ code = │ :(#= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:8 =# Core.@doc "Return a `TopologicalOrder` that lists the cells to be evaluated in a single reactive run, in topological order. Includes the given roots.\n\n# Keyword arguments\n\n- `allow_multiple_defs::Bool = false`\n \n If `false` (default), multiple definitions are not allowed. When a cell is found that defines a variable that is also defined by another cell (this other cell is called a *fellow assigner*), then both cells are marked as `errable` and not `runnable`.\n \n If `true`, then multiple definitions are allowed, in the sense that we ignore the existance of other cells that define the same variable.\n\n\n- `skip_at_partial_multiple_defs::Bool = false`\n \n If `true` (not default), and `allow_multiple_defs = true` (not default), then the search stops going downward when finding a cell that has fellow assigners, *unless all fellow assigners can be reached by the `roots`*, in which case we continue searching downward.\n\n In other words, if there is a set of fellow assigners that can only be reached **partially** by the roots, then this set blocks the search, and cells that depend on the set are not found.\n" function (topological_order(topology::NotebookTopology{C}, roots::AbstractVector{C}; allow_multiple_defs::Bool = false, skip_at_partial_multiple_defs::Bool = false)::TopologicalOrder{C}) where C <: AbstractCell │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:26 =# │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:31 =# │ if skip_at_partial_multiple_defs │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:32 =# │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:32 =# @assert allow_multiple_defs │ end │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:35 =# │ entries = C[] │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:36 =# │ exits = C[] │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:37 =# │ errable = Dict{C, ReactivityError}() │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:40 =# │ function bfs(cell::C)::ChildExplorationResult │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:40 =# │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:41 =# │ if cell in exits │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:42 =# │ return Ok() │ elseif #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:43 =# haskey(errable, cell) │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:44 =# │ return Ok() │ elseif #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:45 =# length(entries) > 0 && entries[var"end"] === cell │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:46 =# │ return Ok() │ elseif #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:47 =# cell in entries │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:48 =# │ currently_in = setdiff(entries, exits) │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:49 =# │ cycle = currently_in[findfirst(isequal(cell), currently_in):var"end"] │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:51 =# │ if !(cycle_is_among_functions(topology, cycle)) │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:52 =# │ for cell = cycle │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:53 =# │ errable[cell] = CyclicReferenceError(topology, cycle) │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:54 =# │ end │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:55 =# │ return Cycle(cycle) │ end │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:58 =# │ return Ok() │ end │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:62 =# │ current_entries_num = length(entries) │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:63 =# │ current_exits_num = length(exits) │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:65 =# │ push!(entries, cell) │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:67 =# │ assigners = where_assigned(topology, cell) │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:68 =# │ referencers = where_referenced(topology, cell) |> Iterators.reverse │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:70 =# │ if !allow_multiple_defs && length(assigners) > 1 │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:71 =# │ for c = assigners │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:72 =# │ errable[c] = MultipleDefinitionsError(topology, c, assigners) │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:73 =# │ end │ end │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:76 =# │ should_continue_search_down = !skip_at_partial_multiple_defs || all((c->begin │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:76 =# │ c === cell || c ∈ exits │ end), assigners) │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:77 =# │ should_search_fellow_assigners_if_any = !allow_multiple_defs │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:79 =# │ to_search_next = if should_continue_search_down │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:80 =# │ if should_search_fellow_assigners_if_any │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:81 =# │ union(assigners, referencers) │ else │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:83 =# │ referencers │ end │ else │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:86 =# │ C[] │ end │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:89 =# │ for c = to_search_next │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:90 =# │ if c !== cell │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:91 =# │ child_result = bfs(c) │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:94 =# │ if child_result isa Ok || cell ∉ child_result.cycled_cells │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:95 =# │ continue │ end │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:102 =# │ if !(is_soft_edge(topology, cell, c)) │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:104 =# │ deleteat!(entries, current_entries_num + 1:length(entries)) │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:105 =# │ deleteat!(exits, current_exits_num + 1:length(exits)) │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:106 =# │ return child_result │ end │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:111 =# │ for cycled_cell = child_result.cycled_cells │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:112 =# │ delete!(errable, cycled_cell) │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:113 =# │ end │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:115 =# │ if entries[var"end"] === c │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:116 =# │ pop!(entries) │ end │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:119 =# │ continue │ end │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:121 =# │ end │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:122 =# │ push!(exits, cell) │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:123 =# │ Ok() │ end │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:128 =# │ prelim_order_1 = sort(roots, alg = MergeSort, by = (c->begin │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:128 =# │ cell_precedence_heuristic(topology, c) │ end)) │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:130 =# │ for i = length(prelim_order_1):-1:1 │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:131 =# │ bfs(prelim_order_1[i]) │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:132 =# │ end │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:133 =# │ ordered = reverse(exits) │ #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:134 =# │ TopologicalOrder(topology, setdiff(ordered, keys(errable)), errable) │ end) │ st0 = │ SyntaxTree with attributes mod,kind,var_id,toplevel_pure,scope_type,macro_source,name_val,syntax_flags,meta,scope_layer,value,jl_source,is_toplevel_thunk,source,__macro_ctx__ │ [macrocall] │ │ @doc :: Identifier │ mod │ :(#= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:8 =#) :: Value │ │ "Return a `TopologicalOrder` that lists the cells to be evaluated in a single reactive run, in topological order. Includes the given roots.\n\n# Keyword arguments\n\n- `allow_multiple_defs::Bool = false`\n \n If `false` (default), multiple definitions are not allowed. When a cell is found that defines a variable that is also defined by another cell (this other cell is called a *fellow assigner*), then both cells are marked as `errable` and not `runnable`.\n \n If `true`, then multiple definitions are allowed, in the sense that we ignore the existance of other cells that define the same variable.\n\n\n- `skip_at_partial_multiple_defs::Bool = false`\n \n If `true` (not default), and `allow_multiple_defs = true` (not default), then the search stops going downward when finding a cell that has fellow assigners, *unless all fellow assigners can be reached by the `roots`*, in which case we continue searching downward.\n\n In other words, if there is a set of fellow assigners that can only be reached **partially** by the roots, then this set blocks the search, and cells that depend on the set are not found.\n" :: Value │ │ [function] │ │ [where] │ │ [::] │ │ [call] │ │ topological_order :: Identifier │ │ [parameters] │ │ [kw] │ │ [::] │ │ allow_multiple_defs :: Identifier │ │ Bool :: Identifier │ │ false :: Value │ │ [kw] │ │ [::] │ │ skip_at_partial_multiple_defs :: Identifier │ │ Bool :: Identifier │ │ false :: Value │ │ [::] │ │ topology :: Identifier │ │ [curly] │ │ NotebookTopology :: Identifier │ │ C :: Identifier │ │ [::] │ │ roots :: Identifier │ │ [curly] │ │ AbstractVector :: Identifier │ │ C :: Identifier │ │ [curly] │ │ TopologicalOrder :: Identifier │ │ C :: Identifier │ │ [<:] │ │ C :: Identifier │ │ AbstractCell :: Identifier │ │ [block] │ │ [if] │ │ skip_at_partial_multiple_defs :: Identifier │ │ [block] │ │ [macrocall] │ │ @assert :: Identifier │ │ :(#= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:32 =#) :: Value │ │ allow_multiple_defs :: Identifier │ │ [=] │ │ entries :: Identifier │ │ [ref] │ │ C :: Identifier │ │ [=] │ │ exits :: Identifier │ │ [ref] │ │ C :: Identifier │ │ [=] │ │ errable :: Identifier │ │ [call] │ │ [curly] │ │ Dict :: Identifier │ │ C :: Identifier │ │ ReactivityError :: Identifier │ │ [function] │ │ [::] │ │ [call] │ │ bfs :: Identifier │ │ [::] │ │ cell :: Identifier │ │ C :: Identifier │ │ ChildExplorationResult :: Identifier │ │ [block] │ │ [if] │ │ [call] │ │ in :: Identifier │ │ cell :: Identifier │ │ exits :: Identifier │ │ [block] │ │ [return] │ │ [call] │ │ Ok :: Identifier │ │ [elseif] │ │ [block] │ │ [call] │ │ haskey :: Identifier │ │ errable :: Identifier │ │ cell :: Identifier │ │ [block] │ │ [return] │ │ [call] │ │ Ok :: Identifier │ │ [elseif] │ │ [block] │ │ [&&] │ │ [call] │ │ > :: Identifier │ │ [call] │ │ length :: Identifier │ │ entries :: Identifier │ │ 0 :: Value │ │ [call] │ │ === :: Identifier │ │ [ref] │ │ entries :: Identifier │ │ end :: Identifier │ │ cell :: Identifier │ │ [block] │ │ [return] │ │ [call] │ │ Ok :: Identifier │ │ [elseif] │ │ [block] │ │ [call] │ │ in :: Identifier │ │ cell :: Identifier │ │ entries :: Identifier │ │ [block] │ │ [=] │ │ currently_in :: Identifier │ │ [call] │ │ setdiff :: Identifier │ │ entries :: Identifier │ │ exits :: Identifier │ │ [=] │ │ cycle :: Identifier │ │ [ref] │ │ currently_in :: Identifier │ │ [call] │ │ : :: Identifier │ │ [call] │ │ findfirst :: Identifier │ │ [call] │ │ isequal :: Identifier │ │ cell :: Identifier │ │ currently_in :: Identifier │ │ end :: Identifier │ │ [if] │ │ [call] │ │ ! :: Identifier │ │ [call] │ │ cycle_is_among_functions :: Identifier │ │ topology :: Identifier │ │ cycle :: Identifier │ │ [block] │ │ [for] │ │ [=] │ │ cell :: Identifier │ │ cycle :: Identifier │ │ [block] │ │ [=] │ │ [ref] │ │ errable :: Identifier │ │ cell :: Identifier │ │ [call] │ │ CyclicReferenceError :: Identifier │ │ topology :: Identifier │ │ cycle :: Identifier │ │ [return] │ │ [call] │ │ Cycle :: Identifier │ │ cycle :: Identifier │ │ [return] │ │ [call] │ │ Ok :: Identifier │ │ [=] │ │ current_entries_num :: Identifier │ │ [call] │ │ length :: Identifier │ │ entries :: Identifier │ │ [=] │ │ current_exits_num :: Identifier │ │ [call] │ │ length :: Identifier │ │ exits :: Identifier │ │ [call] │ │ push! :: Identifier │ │ entries :: Identifier │ │ cell :: Identifier │ │ [=] │ │ assigners :: Identifier │ │ [call] │ │ where_assigned :: Identifier │ │ topology :: Identifier │ │ cell :: Identifier │ │ [=] │ │ referencers :: Identifier │ │ [call] │ │ |> :: Identifier │ │ [call] │ │ where_referenced :: Identifier │ │ topology :: Identifier │ │ cell :: Identifier │ │ [.] │ │ Iterators :: Identifier │ │ [inert] │ │ reverse :: Identifier │ │ [if] │ │ [&&] │ │ [call] │ │ ! :: Identifier │ │ allow_multiple_defs :: Identifier │ │ [call] │ │ > :: Identifier │ │ [call] │ │ length :: Identifier │ │ assigners :: Identifier │ │ 1 :: Value │ │ [block] │ │ [for] │ │ [=] │ │ c :: Identifier │ │ assigners :: Identifier │ │ [block] │ │ [=] │ │ [ref] │ │ errable :: Identifier │ │ c :: Identifier │ │ [call] │ │ MultipleDefinitionsError :: Identifier │ │ topology :: Identifier │ │ c :: Identifier │ │ assigners :: Identifier │ │ [=] │ │ should_continue_search_down :: Identifier │ │ [||] │ │ [call] │ │ ! :: Identifier │ │ skip_at_partial_multiple_defs :: Identifier │ │ [call] │ │ all :: Identifier │ │ [->] │ │ c :: Identifier │ │ [block] │ │ [||] │ │ [call] │ │ === :: Identifier │ │ c :: Identifier │ │ cell :: Identifier │ │ [call] │ │ ∈ :: Identifier │ │ c :: Identifier │ │ exits :: Identifier │ │ assigners :: Identifier │ │ [=] │ │ should_search_fellow_assigners_if_any :: Identifier │ │ [call] │ │ ! :: Identifier │ │ allow_multiple_defs :: Identifier │ │ [=] │ │ to_search_next :: Identifier │ │ [if] │ │ should_continue_search_down :: Identifier │ │ [block] │ │ [if] │ │ should_search_fellow_assigners_if_any :: Identifier │ │ [block] │ │ [call] │ │ union :: Identifier │ │ assigners :: Identifier │ │ referencers :: Identifier │ │ [block] │ │ referencers :: Identifier │ │ [block] │ │ [ref] │ │ C :: Identifier │ │ [for] │ │ [=] │ │ c :: Identifier │ │ to_search_next :: Identifier │ │ [block] │ │ [if] │ │ [call] │ │ !== :: Identifier │ │ c :: Identifier │ │ cell :: Identifier │ │ [block] │ │ [=] │ │ child_result :: Identifier │ │ [call] │ │ bfs :: Identifier │ │ c :: Identifier │ │ [if] │ │ [||] │ │ [call] │ │ isa :: Identifier │ │ child_result :: Identifier │ │ Ok :: Identifier │ │ [call] │ │ ∉ :: Identifier │ │ cell :: Identifier │ │ [.] │ │ child_result :: Identifier │ │ [inert] │ │ cycled_cells :: Identifier │ │ [block] │ │ [continue] │ │ [if] │ │ [call] │ │ ! :: Identifier │ │ [call] │ │ is_soft_edge :: Identifier │ │ topology :: Identifier │ │ cell :: Identifier │ │ c :: Identifier │ │ [block] │ │ [call] │ │ deleteat! :: Identifier │ │ entries :: Identifier │ │ [call] │ │ : :: Identifier │ │ [call] │ │ + :: Identifier │ │ current_entries_num :: Identifier │ │ 1 :: Value │ │ [call] │ │ length :: Identifier │ │ entries :: Identifier │ │ [call] │ │ deleteat! :: Identifier │ │ exits :: Identifier │ │ [call] │ │ : :: Identifier │ │ [call] │ │ + :: Identifier │ │ current_exits_num :: Identifier │ │ 1 :: Value │ │ [call] │ │ length :: Identifier │ │ exits :: Identifier │ │ [return] │ │ child_result :: Identifier │ │ [for] │ │ [=] │ │ cycled_cell :: Identifier │ │ [.] │ │ child_result :: Identifier │ │ [inert] │ │ cycled_cells :: Identifier │ │ [block] │ │ [call] │ │ delete! :: Identifier │ │ errable :: Identifier │ │ cycled_cell :: Identifier │ │ [if] │ │ [call] │ │ === :: Identifier │ │ [ref] │ │ entries :: Identifier │ │ end :: Identifier │ │ c :: Identifier │ │ [block] │ │ [call] │ │ pop! :: Identifier │ │ entries :: Identifier │ │ [continue] │ │ [call] │ │ push! :: Identifier │ │ exits :: Identifier │ │ cell :: Identifier │ │ [call] │ │ Ok :: Identifier │ │ [=] │ │ prelim_order_1 :: Identifier │ │ [call] │ │ sort :: Identifier │ │ roots :: Identifier │ │ [kw] │ │ alg :: Identifier │ │ MergeSort :: Identifier │ │ [kw] │ │ by :: Identifier │ │ [->] │ │ c :: Identifier │ │ [block] │ │ [call] │ │ cell_precedence_heuristic :: Identifier │ │ topology :: Identifier │ │ c :: Identifier │ │ [for] │ │ [=] │ │ i :: Identifier │ │ [call] │ │ : :: Identifier │ │ [call] │ │ length :: Identifier │ │ prelim_order_1 :: Identifier │ │ -1 :: Value │ │ 1 :: Value │ │ [block] │ │ [call] │ │ bfs :: Identifier │ │ [ref] │ │ prelim_order_1 :: Identifier │ │ i :: Identifier │ │ [=] │ │ ordered :: Identifier │ │ [call] │ │ reverse :: Identifier │ │ exits :: Identifier │ │ [call] │ │ TopologicalOrder :: Identifier │ │ topology :: Identifier │ │ [call] │ │ setdiff :: Identifier │ │ ordered :: Identifier │ │ [call] │ │ keys :: Identifier │ │ errable :: Identifier │ │ errable :: Identifier │ │ │ st1 = │ SyntaxTree with attributes mod,kind,var_id,toplevel_pure,scope_type,macro_source,name_val,syntax_flags,meta,scope_layer,value,jl_source,is_toplevel_thunk,source │ [block] │ │ [=] │ │ val :: Identifier │ scope_layer=3 │ [function] │ │ [where] │ │ [::] │ │ [call] │ │ topological_order :: Identifier │ scope_layer=1 │ [parameters] │ │ [kw] │ │ [::] │ │ allow_multiple_defs :: Identifier │ scope_layer=1 │ Bool :: Identifier │ scope_layer=1 │ false :: Value │ macro_source=405 │ [kw] │ │ [::] │ │ skip_at_partial_multiple_defs :: Identifier │ scope_layer=1 │ Bool :: Identifier │ scope_layer=1 │ false :: Value │ macro_source=405 │ [::] │ │ topology :: Identifier │ scope_layer=1 │ [curly] │ │ NotebookTopology :: Identifier │ scope_layer=1 │ C :: Identifier │ scope_layer=1 │ [::] │ │ roots :: Identifier │ scope_layer=1 │ [curly] │ │ AbstractVector :: Identifier │ scope_layer=1 │ C :: Identifier │ scope_layer=1 │ [curly] │ │ TopologicalOrder :: Identifier │ scope_layer=1 │ C :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ C :: Identifier │ scope_layer=1 │ AbstractCell :: Identifier │ scope_layer=1 │ [block] │ │ [if] │ │ skip_at_partial_multiple_defs :: Identifier │ scope_layer=1 │ [block] │ │ [if] │ │ allow_multiple_defs :: Identifier │ scope_layer=1 │ nothing :: Value │ macro_source=405 │ [call] │ │ throw :: Identifier │ mod,scope_layer=1 │ [call] │ │ AssertionError :: Identifier │ mod,scope_layer=1 │ "allow_multiple_defs" :: Value │ macro_source=405 │ [=] │ │ entries :: Identifier │ scope_layer=1 │ [ref] │ │ C :: Identifier │ scope_layer=1 │ [=] │ │ exits :: Identifier │ scope_layer=1 │ [ref] │ │ C :: Identifier │ scope_layer=1 │ [=] │ │ errable :: Identifier │ scope_layer=1 │ [call] │ │ [curly] │ │ Dict :: Identifier │ scope_layer=1 │ C :: Identifier │ scope_layer=1 │ ReactivityError :: Identifier │ scope_layer=1 │ [function] │ │ [::] │ │ [call] │ │ bfs :: Identifier │ scope_layer=1 │ [::] │ │ cell :: Identifier │ scope_layer=1 │ C :: Identifier │ scope_layer=1 │ ChildExplorationResult :: Identifier │ scope_layer=1 │ [block] │ │ [if] │ │ [call] │ │ in :: Identifier │ scope_layer=1 │ cell :: Identifier │ scope_layer=1 │ exits :: Identifier │ scope_layer=1 │ [block] │ │ [return] │ │ [call] │ │ Ok :: Identifier │ scope_layer=1 │ [elseif] │ │ [block] │ │ [call] │ │ haskey :: Identifier │ scope_layer=1 │ errable :: Identifier │ scope_layer=1 │ cell :: Identifier │ scope_layer=1 │ [block] │ │ [return] │ │ [call] │ │ Ok :: Identifier │ scope_layer=1 │ [elseif] │ │ [block] │ │ [&&] │ │ [call] │ │ > :: Identifier │ scope_layer=1 │ [call] │ │ length :: Identifier │ scope_layer=1 │ entries :: Identifier │ scope_layer=1 │ 0 :: Value │ macro_source=405 │ [call] │ │ === :: Identifier │ scope_layer=1 │ [ref] │ │ entries :: Identifier │ scope_layer=1 │ end :: Identifier │ scope_layer=1 │ cell :: Identifier │ scope_layer=1 │ [block] │ │ [return] │ │ [call] │ │ Ok :: Identifier │ scope_layer=1 │ [elseif] │ │ [block] │ │ [call] │ │ in :: Identifier │ scope_layer=1 │ cell :: Identifier │ scope_layer=1 │ entries :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ currently_in :: Identifier │ scope_layer=1 │ [call] │ │ setdiff :: Identifier │ scope_layer=1 │ entries :: Identifier │ scope_layer=1 │ exits :: Identifier │ scope_layer=1 │ [=] │ │ cycle :: Identifier │ scope_layer=1 │ [ref] │ │ currently_in :: Identifier │ scope_layer=1 │ [call] │ │ : :: Identifier │ scope_layer=1 │ [call] │ │ findfirst :: Identifier │ scope_layer=1 │ [call] │ │ isequal :: Identifier │ scope_layer=1 │ cell :: Identifier │ scope_layer=1 │ currently_in :: Identifier │ scope_layer=1 │ end :: Identifier │ scope_layer=1 │ [if] │ │ [call] │ │ ! :: Identifier │ scope_layer=1 │ [call] │ │ cycle_is_among_functions :: Identifier │ scope_layer=1 │ topology :: Identifier │ scope_layer=1 │ cycle :: Identifier │ scope_layer=1 │ [block] │ │ [for] │ │ [=] │ │ cell :: Identifier │ scope_layer=1 │ cycle :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ [ref] │ │ errable :: Identifier │ scope_layer=1 │ cell :: Identifier │ scope_layer=1 │ [call] │ │ CyclicReferenceError :: Identifier │ scope_layer=1 │ topology :: Identifier │ scope_layer=1 │ cycle :: Identifier │ scope_layer=1 │ [return] │ │ [call] │ │ Cycle :: Identifier │ scope_layer=1 │ cycle :: Identifier │ scope_layer=1 │ [return] │ │ [call] │ │ Ok :: Identifier │ scope_layer=1 │ [=] │ │ current_entries_num :: Identifier │ scope_layer=1 │ [call] │ │ length :: Identifier │ scope_layer=1 │ entries :: Identifier │ scope_layer=1 │ [=] │ │ current_exits_num :: Identifier │ scope_layer=1 │ [call] │ │ length :: Identifier │ scope_layer=1 │ exits :: Identifier │ scope_layer=1 │ [call] │ │ push! :: Identifier │ scope_layer=1 │ entries :: Identifier │ scope_layer=1 │ cell :: Identifier │ scope_layer=1 │ [=] │ │ assigners :: Identifier │ scope_layer=1 │ [call] │ │ where_assigned :: Identifier │ scope_layer=1 │ topology :: Identifier │ scope_layer=1 │ cell :: Identifier │ scope_layer=1 │ [=] │ │ referencers :: Identifier │ scope_layer=1 │ [call] │ │ |> :: Identifier │ scope_layer=1 │ [call] │ │ where_referenced :: Identifier │ scope_layer=1 │ topology :: Identifier │ scope_layer=1 │ cell :: Identifier │ scope_layer=1 │ [.] │ │ Iterators :: Identifier │ scope_layer=1 │ [inert] │ │ reverse :: Identifier │ │ [if] │ │ [&&] │ │ [call] │ │ ! :: Identifier │ scope_layer=1 │ allow_multiple_defs :: Identifier │ scope_layer=1 │ [call] │ │ > :: Identifier │ scope_layer=1 │ [call] │ │ length :: Identifier │ scope_layer=1 │ assigners :: Identifier │ scope_layer=1 │ 1 :: Value │ macro_source=405 │ [block] │ │ [for] │ │ [=] │ │ c :: Identifier │ scope_layer=1 │ assigners :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ [ref] │ │ errable :: Identifier │ scope_layer=1 │ c :: Identifier │ scope_layer=1 │ [call] │ │ MultipleDefinitionsError :: Identifier │ scope_layer=1 │ topology :: Identifier │ scope_layer=1 │ c :: Identifier │ scope_layer=1 │ assigners :: Identifier │ scope_layer=1 │ [=] │ │ should_continue_search_down :: Identifier │ scope_layer=1 │ [||] │ │ [call] │ │ ! :: Identifier │ scope_layer=1 │ skip_at_partial_multiple_defs :: Identifier │ scope_layer=1 │ [call] │ │ all :: Identifier │ scope_layer=1 │ [->] │ │ c :: Identifier │ scope_layer=1 │ [block] │ │ [||] │ │ [call] │ │ === :: Identifier │ scope_layer=1 │ c :: Identifier │ scope_layer=1 │ cell :: Identifier │ scope_layer=1 │ [call] │ │ ∈ :: Identifier │ scope_layer=1 │ c :: Identifier │ scope_layer=1 │ exits :: Identifier │ scope_layer=1 │ assigners :: Identifier │ scope_layer=1 │ [=] │ │ should_search_fellow_assigners_if_any :: Identifier │ scope_layer=1 │ [call] │ │ ! :: Identifier │ scope_layer=1 │ allow_multiple_defs :: Identifier │ scope_layer=1 │ [=] │ │ to_search_next :: Identifier │ scope_layer=1 │ [if] │ │ should_continue_search_down :: Identifier │ scope_layer=1 │ [block] │ │ [if] │ │ should_search_fellow_assigners_if_any :: Identifier │ scope_layer=1 │ [block] │ │ [call] │ │ union :: Identifier │ scope_layer=1 │ assigners :: Identifier │ scope_layer=1 │ referencers :: Identifier │ scope_layer=1 │ [block] │ │ referencers :: Identifier │ scope_layer=1 │ [block] │ │ [ref] │ │ C :: Identifier │ scope_layer=1 │ [for] │ │ [=] │ │ c :: Identifier │ scope_layer=1 │ to_search_next :: Identifier │ scope_layer=1 │ [block] │ │ [if] │ │ [call] │ │ !== :: Identifier │ scope_layer=1 │ c :: Identifier │ scope_layer=1 │ cell :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ child_result :: Identifier │ scope_layer=1 │ [call] │ │ bfs :: Identifier │ scope_layer=1 │ c :: Identifier │ scope_layer=1 │ [if] │ │ [||] │ │ [call] │ │ isa :: Identifier │ scope_layer=1 │ child_result :: Identifier │ scope_layer=1 │ Ok :: Identifier │ scope_layer=1 │ [call] │ │ ∉ :: Identifier │ scope_layer=1 │ cell :: Identifier │ scope_layer=1 │ [.] │ │ child_result :: Identifier │ scope_layer=1 │ [inert] │ │ cycled_cells :: Identifier │ │ [block] │ macro_source=405 │ [continue] │ macro_source=405 │ [if] │ │ [call] │ │ ! :: Identifier │ scope_layer=1 │ [call] │ │ is_soft_edge :: Identifier │ scope_layer=1 │ topology :: Identifier │ scope_layer=1 │ cell :: Identifier │ scope_layer=1 │ c :: Identifier │ scope_layer=1 │ [block] │ │ [call] │ │ deleteat! :: Identifier │ scope_layer=1 │ entries :: Identifier │ scope_layer=1 │ [call] │ │ : :: Identifier │ scope_layer=1 │ [call] │ │ + :: Identifier │ scope_layer=1 │ current_entries_num :: Identifier │ scope_layer=1 │ 1 :: Value │ macro_source=405 │ [call] │ │ length :: Identifier │ scope_layer=1 │ entries :: Identifier │ scope_layer=1 │ [call] │ │ deleteat! :: Identifier │ scope_layer=1 │ exits :: Identifier │ scope_layer=1 │ [call] │ │ : :: Identifier │ scope_layer=1 │ [call] │ │ + :: Identifier │ scope_layer=1 │ current_exits_num :: Identifier │ scope_layer=1 │ 1 :: Value │ macro_source=405 │ [call] │ │ length :: Identifier │ scope_layer=1 │ exits :: Identifier │ scope_layer=1 │ [return] │ │ child_result :: Identifier │ scope_layer=1 │ [for] │ │ [=] │ │ cycled_cell :: Identifier │ scope_layer=1 │ [.] │ │ child_result :: Identifier │ scope_layer=1 │ [inert] │ │ cycled_cells :: Identifier │ │ [block] │ │ [call] │ │ delete! :: Identifier │ scope_layer=1 │ errable :: Identifier │ scope_layer=1 │ cycled_cell :: Identifier │ scope_layer=1 │ [if] │ │ [call] │ │ === :: Identifier │ scope_layer=1 │ [ref] │ │ entries :: Identifier │ scope_layer=1 │ end :: Identifier │ scope_layer=1 │ c :: Identifier │ scope_layer=1 │ [block] │ │ [call] │ │ pop! :: Identifier │ scope_layer=1 │ entries :: Identifier │ scope_layer=1 │ [continue] │ macro_source=405 │ [call] │ │ push! :: Identifier │ scope_layer=1 │ exits :: Identifier │ scope_layer=1 │ cell :: Identifier │ scope_layer=1 │ [call] │ │ Ok :: Identifier │ scope_layer=1 │ [=] │ │ prelim_order_1 :: Identifier │ scope_layer=1 │ [call] │ │ sort :: Identifier │ scope_layer=1 │ roots :: Identifier │ scope_layer=1 │ [kw] │ │ alg :: Identifier │ scope_layer=1 │ MergeSort :: Identifier │ scope_layer=1 │ [kw] │ │ by :: Identifier │ scope_layer=1 │ [->] │ │ c :: Identifier │ scope_layer=1 │ [block] │ │ [call] │ │ cell_precedence_heuristic :: Identifier │ scope_layer=1 │ topology :: Identifier │ scope_layer=1 │ c :: Identifier │ scope_layer=1 │ [for] │ │ [=] │ │ i :: Identifier │ scope_layer=1 │ [call] │ │ : :: Identifier │ scope_layer=1 │ [call] │ │ length :: Identifier │ scope_layer=1 │ prelim_order_1 :: Identifier │ scope_layer=1 │ -1 :: Value │ macro_source=405 │ 1 :: Value │ macro_source=405 │ [block] │ │ [call] │ │ bfs :: Identifier │ scope_layer=1 │ [ref] │ │ prelim_order_1 :: Identifier │ scope_layer=1 │ i :: Identifier │ scope_layer=1 │ [=] │ │ ordered :: Identifier │ scope_layer=1 │ [call] │ │ reverse :: Identifier │ scope_layer=1 │ exits :: Identifier │ scope_layer=1 │ [call] │ │ TopologicalOrder :: Identifier │ scope_layer=1 │ topology :: Identifier │ scope_layer=1 │ [call] │ │ setdiff :: Identifier │ scope_layer=1 │ ordered :: Identifier │ scope_layer=1 │ [call] │ │ keys :: Identifier │ scope_layer=1 │ errable :: Identifier │ scope_layer=1 │ errable :: Identifier │ scope_layer=1 │ [call] │ │ Base.Docs.doc! :: Value │ macro_source=405 │ PlutoDependencyExplorer :: Value │ macro_source=405 │ [call] │ │ Base.Docs.Binding :: Value │ macro_source=405 │ PlutoDependencyExplorer :: Value │ │ [inert] │ jl_source=L65 │ topological_order :: Identifier │ │ [call] │ macro_source=405 │ Base.Docs.docstr :: Value │ macro_source=405 │ [call] │ macro_source=405 │ Core.svec :: Value │ macro_source=405 │ "Return a `TopologicalOrder` that lists the cells to be evaluated in a single reactive run, in topological order. Includes the given roots.\n\n# Keyword arguments\n\n- `allow_multiple_defs::Bool = false`\n \n If `false` (default), multiple definitions are not allowed. When a cell is found that defines a variable that is also defined by another cell (this other cell is called a *fellow assigner*), then both cells are marked as `errable` and not `runnable`.\n \n If `true`, then multiple definitions are allowed, in the sense that we ignore the existance of other cells that define the same variable.\n\n\n- `skip_at_partial_multiple_defs::Bool = false`\n \n If `true` (not default), and `allow_multiple_defs = true` (not default), then the search stops going downward when finding a cell that has fellow assigners, *unless all fellow assigners can be reached by the `roots`*, in which case we continue searching downward.\n\n In other words, if there is a set of fellow assigners that can only be reached **partially** by the roots, then this set blocks the search, and cells that depend on the set are not found.\n" :: Value │ macro_source=405 │ [call] │ macro_source=405 │ Dict{Symbol, Any} :: Value │ macro_source=405 │ :path => "/home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl" :: Value │ macro_source=405 │ :linenumber => 8 :: Value │ macro_source=405 │ :module => PlutoDependencyExplorer :: Value │ macro_source=405 │ [where] │ │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ [curly] │ │ Tuple :: Identifier │ scope_layer=1 │ [curly] │ │ NotebookTopology :: Identifier │ scope_layer=1 │ C :: Identifier │ scope_layer=1 │ [curly] │ │ AbstractVector :: Identifier │ scope_layer=1 │ C :: Identifier │ scope_layer=1 │ [curly] │ │ Tuple :: Identifier │ scope_layer=1 │ C :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ C :: Identifier │ scope_layer=1 │ AbstractCell :: Identifier │ scope_layer=1 │ val :: Identifier │ scope_layer=3 │ │ file = "/home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl" │ line = 8 └ mod = PlutoDependencyExplorer ERROR: LoadError: LoweringError: #= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:40 =# - Found unexpected binding of kind static_parameter Expression:  #₅₄/C Containing expressions:  (= #₁₇₄/C #₅₄/C)  (= #₃ (call core.svec (call core.svec #₁₄₃/##kw_body#topological_order#0#bfs##0 #₅₄/C) (call core.svec) SourceLocation:/home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:40:0))  (= #₃ (call core.svec (call core.svec (function_type #₅₆/bfs) #₅₄/C) (call core.svec) SourceLocation:/home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:40:0))  Detailed provenance:  #₅₄/C  └─ C  └─ C  ├─ @ /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:40  └─ (macrocall @doc :(#= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:8 =#) "Return a `TopologicalOrder` that lists the cells to be evaluated in a single reactive run, in topological order. Includes the given roots.\n\n# Keyword arguments\n\n- `allow_multiple_defs::Bool = false`\n \n If `false` (default), multiple definitions are not allowed. When a cell is found that defines a variable that is also defined by another cell (this other cell is called a *fellow assigner*), then both cells are marked as `errable` and not `runnable`.\n \n If `true`, then multiple definitions are allowed, in the sense that we ignore the existance of other cells that define the same variable.\n\n\n- `skip_at_partial_multiple_defs::Bool = false`\n \n If `true` (not default), and `allow_multiple_defs = true` (not default), then the search stops going downward when finding a cell that has fellow assigners, *unless all fellow assigners can be reached by the `roots`*, in which case we continue searching downward.\n\n In other words, if there is a set of fellow assigners that can only be reached **partially** by the roots, then this set blocks the search, and cells that depend on the set are not found.\n" (function (where (:: (call topological_order (parameters (kw (:: allow_multiple_defs Bool) false) (kw (:: skip_at_partial_multiple_defs Bool) false)) (:: topology (curly NotebookTopology C)) (:: roots (curly AbstractVector C))) (curly TopologicalOrder C)) (<: C AbstractCell)) (block (if skip_at_partial_multiple_defs (block (macrocall @assert :(#= /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:32 =#) allow_multiple_defs))) (= entries (ref C)) (= exits (ref C)) (= errable (call (curly Dict C ReactivityError))) (function (:: (call bfs (:: cell C)) ChildExplorationResult) (block (if (call in cell exits) (block (return (call Ok))) (elseif (block (call haskey errable cell)) (block (return (call Ok))) (elseif (block (&& (call > (call length entries) 0) (call === (ref entries end) cell))) (block (return (call Ok))) (elseif (block (call in cell entries)) (block (= currently_in (call setdiff entries exits)) (= cycle (ref currently_in (call : (call findfirst (call isequal cell) currently_in) end))) (if (call ! (call cycle_is_among_functions topology cycle)) (block (for (= cell cycle) (block (= (ref errable cell) (call CyclicReferenceError topology cycle)))) (return (call Cycle cycle)))) (return (call Ok))))))) (= current_entries_num (call length entries)) (= current_exits_num (call length exits)) (call push! entries cell) (= assigners (call where_assigned topology cell)) (= referencers (call |> (call where_referenced topology cell) (. Iterators (inert reverse)))) (if (&& (call ! allow_multiple_defs) (call > (call length assigners) 1)) (block (for (= c assigners) (block (= (ref errable c) (call MultipleDefinitionsError topology c assigners)))))) (= should_continue_search_down (|| (call ! skip_at_partial_multiple_defs) (call all (-> c (block (|| (call === c cell) (call ∈ c exits)))) assigners))) (= should_search_fellow_assigners_if_any (call ! allow_multiple_defs)) (= to_search_next (if should_continue_search_down (block (if should_search_fellow_assigners_if_any (block (call union assigners referencers)) (block referencers))) (block (ref C)))) (for (= c to_search_next) (block (if (call !== c cell) (block (= child_result (call bfs c)) (if (|| (call isa child_result Ok) (call ∉ cell (. child_result (inert cycled_cells)))) (block (continue))) (if (call ! (call is_soft_edge topology cell c)) (block (call deleteat! entries (call : (call + current_entries_num 1) (call length entries))) (call deleteat! exits (call : (call + current_exits_num 1) (call length exits))) (return child_result))) (for (= cycled_cell (. child_result (inert cycled_cells))) (block (call delete! errable cycled_cell))) (if (call === (ref entries end) c) (block (call pop! entries))) (continue))))) (call push! exits cell) (call Ok))) (= prelim_order_1 (call sort roots (kw alg MergeSort) (kw by (-> c (block (call cell_precedence_heuristic topology c)))))) (for (= i (call : (call length prelim_order_1) -1 1)) (block (call bfs (ref prelim_order_1 i)))) (= ordered (call reverse exits)) (call TopologicalOrder topology (call setdiff ordered (call keys errable)) errable))))  └─ @ /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:8  Stacktrace:  [1] _renumber(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ssa_rewrites::Dict{Int64, Int64}, slot_rewrites::Dict{Int64, Int64}, label_table::Dict{Int64, Int64}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1097  [2] renumber_body(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, input_code::Base.JuliaSyntax.SyntaxList{Dict{Symbol, Dict{Int64, Any}}, Vector{Int64}}, slot_rewrites::Dict{Int64, Int64})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1162  [3] compile_lambda(outer_ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1257  [4] linearize_ir(ctx::Base.JuliaLowering.ClosureConversionCtx{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1287  [5] core_lowering_hook(code::Any, mod::Module, file::String, line::UInt64, world::UInt64, _warn::Bool)  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/hooks.jl:33  [6] include(mapexpr::Function, mod::Module, _path::String)  @ Base Base.jl:326  [7] top-level scope  @ ~/.julia/packages/PlutoDependencyExplorer/BaZEm/src/PlutoDependencyExplorer.jl:24  [8] include(mod::Module, _path::String)  @ Base Base.jl:325  [9] 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:3296  [10] top-level scope  @ stdin:5  [11] eval(m::Module, e::Any)  @ Core boot.jl:522  [12] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)  @ Base loading.jl:3132  [13] include_string(m::Module, txt::String, fname::String)  @ Base loading.jl:3142 [inlined]  [14] exec_options(opts::Base.JLOptions)  @ Base client.jl:353  [15] _start()  @ Base client.jl:596 in expression starting at /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/topological_order.jl:8 in expression starting at /home/pkgeval/.julia/packages/PlutoDependencyExplorer/BaZEm/src/PlutoDependencyExplorer.jl:2 in expression starting at stdin:5 ✗ PlutoDependencyExplorer 17.5 s ✓ CodecZlib 0.5 s ✓ TableTraits 32.9 s ✓ InlineStrings → ArrowTypesExt 10.3 s ✓ FileIO 2.2 s ✓ RelocatableFolders 0.7 s ✓ Compat → CompatLinearAlgebraExt 3.0 s ✓ JLLWrappers 2.6 s ✓ PrecompileTools 38.3 s ✓ ColorTypes 33.5 s ✓ SortingAlgorithms 36.2 s ✓ MosaicViews 131.8 s ✓ Tables 20.9 s ✓ Malt 6.6 s ✓ GracefulPkg 146.8 s ✓ FilePathsBase 40.5 s ✓ Aqua 1.0 s ✓ Mocking 3.1 s ✓ libpng_jll 3.1 s ✓ libsodium_jll 3.0 s ✓ Libiconv_jll 2.9 s ✓ MbedTLS_jll 3.0 s ✓ JpegTurbo_jll 67.9 s ✓ StringManipulation 33.1 s ✓ Parsers 33.9 s ✓ ColorTypes → StyledStringsExt 67.7 s ✓ ColorVectorSpace  ====================================================================================== Information request received. A stacktrace will print followed by a 1.0 second profile. --trace-compile is enabled during profile collection. ======================================================================================  cmd: /opt/julia/bin/julia 385 running 1 of 1  signal (10): User defined signal 1 _ZNK4llvm5APInteqEm at /opt/julia/bin/../lib/julia/libLLVM.so.21.1jl (unknown line) _ZNK4llvm14TargetLowering20SimplifyDemandedBitsENS_7SDValueERKNS_5APIntES4_RNS_9KnownBitsERNS0_17TargetLoweringOptEjb at /opt/julia/bin/../lib/julia/libLLVM.so.21.1jl (unknown line) _ZN12_GLOBAL__N_111DAGCombiner20SimplifyDemandedBitsEN4llvm7SDValueE.constprop.0 at /opt/julia/bin/../lib/julia/libLLVM.so.21.1jl (unknown line) _ZN12_GLOBAL__N_111DAGCombiner12visitADDLikeEPN4llvm6SDNodeE at /opt/julia/bin/../lib/julia/libLLVM.so.21.1jl (unknown line) _ZN12_GLOBAL__N_111DAGCombiner8visitADDEPN4llvm6SDNodeE at /opt/julia/bin/../lib/julia/libLLVM.so.21.1jl (unknown line) _ZN12_GLOBAL__N_111DAGCombiner7combineEPN4llvm6SDNodeE at /opt/julia/bin/../lib/julia/libLLVM.so.21.1jl (unknown line) _ZN4llvm12SelectionDAG7CombineENS_12CombineLevelEPNS_14BatchAAResultsENS_15CodeGenOptLevelE at /opt/julia/bin/../lib/julia/libLLVM.so.21.1jl (unknown line) _ZN4llvm16SelectionDAGISel17CodeGenAndEmitDAGEv at /opt/julia/bin/../lib/julia/libLLVM.so.21.1jl (unknown line) _ZN4llvm16SelectionDAGISel20SelectAllBasicBlocksERKNS_8FunctionE at /opt/julia/bin/../lib/julia/libLLVM.so.21.1jl (unknown line) _ZN4llvm16SelectionDAGISel20runOnMachineFunctionERNS_15MachineFunctionE at /opt/julia/bin/../lib/julia/libLLVM.so.21.1jl (unknown line) _ZN4llvm22SelectionDAGISelLegacy20runOnMachineFunctionERNS_15MachineFunctionE at /opt/julia/bin/../lib/julia/libLLVM.so.21.1jl (unknown line) _ZN4llvm19MachineFunctionPass13runOnFunctionERNS_8FunctionE.part.0 at /opt/julia/bin/../lib/julia/libLLVM.so.21.1jl (unknown line) _ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE at /opt/julia/bin/../lib/julia/libLLVM.so.21.1jl (unknown line) _ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE at /opt/julia/bin/../lib/julia/libLLVM.so.21.1jl (unknown line) _ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE at /opt/julia/bin/../lib/julia/libLLVM.so.21.1jl (unknown line) operator() at /source/src/jitlayers.cpp:1414:23 compileModule at /source/src/jitlayers.cpp:2390:79 materialize at /source/src/jitlayers.cpp:906:36 _ZN4llvm3orc19MaterializationTask3runEv at /opt/julia/bin/../lib/julia/libLLVM.so.21.1jl (unknown line) dispatch at /source/src/julia-task-dispatcher.h:353:11 _ZN4llvm3orc16ExecutionSession22dispatchOutstandingMUsEv at /opt/julia/bin/../lib/julia/libLLVM.so.21.1jl (unknown line) _ZN4llvm3orc16ExecutionSession17OL_completeLookupESt10unique_ptrINS0_21InProgressLookupStateESt14default_deleteIS3_EESt10shared_ptrINS0_23AsynchronousSymbolQueryEESt8functionIFvRKNS_8DenseMapIPNS0_8JITDylibENS_8DenseSetINS0_15SymbolStringPtrENS_12DenseMapInfoISF_vEEEENSG_ISD_vEENS_6detail12DenseMapPairISD_SI_EEEEEE at /opt/julia/bin/../lib/julia/libLLVM.so.21.1jl (unknown line) _ZN4llvm3orc25InProgressFullLookupState8completeESt10unique_ptrINS0_21InProgressLookupStateESt14default_deleteIS3_EE at /opt/julia/bin/../lib/julia/libLLVM.so.21.1jl (unknown line) _ZN4llvm3orc16ExecutionSession19OL_applyQueryPhase1ESt10unique_ptrINS0_21InProgressLookupStateESt14default_deleteIS3_EENS_5ErrorE at /opt/julia/bin/../lib/julia/libLLVM.so.21.1jl (unknown line) _ZN4llvm3orc16ExecutionSession6lookupENS0_10LookupKindERKSt6vectorISt4pairIPNS0_8JITDylibENS0_19JITDylibLookupFlagsEESaIS8_EENS0_15SymbolLookupSetENS0_11SymbolStateENS_15unique_functionIFvNS_8ExpectedINS_8DenseMapINS0_15SymbolStringPtrENS0_17ExecutorSymbolDefENS_12DenseMapInfoISI_vEENS_6detail12DenseMapPairISI_SJ_EEEEEEEEESt8functionIFvRKNSH_IS6_NS_8DenseSetISI_SL_EENSK_IS6_vEENSN_IS6_SV_EEEEEE at /opt/julia/bin/../lib/julia/libLLVM.so.21.1jl (unknown line) publishCIs at /source/src/jitlayers.cpp:2085:14 jl_compile_codeinst_impl at /source/src/jitlayers.cpp:510:39 jl_compile_method_very_internal at /source/src/gf.c:3946:27 _jl_invoke at /source/src/gf.c:4352:16 [inlined] ijl_apply_generic at /source/src/gf.c:4598:12 jl_apply at /source/src/julia.h:2388:12 [inlined] ijl_lower at /source/src/ast.c:1274:26 jl_eval_toplevel_stmts at /source/src/toplevel.c:598:31 jl_toplevel_eval_flex at /source/src/toplevel.c:684:27 ijl_toplevel_eval at /source/src/toplevel.c:782:12 ijl_toplevel_eval_in at /source/src/toplevel.c:827:13 eval at ./boot.jl:522:0 (pc: 1) include_string at ./loading.jl:3132:0 (pc: 207) _jl_invoke at /source/src/gf.c:4360:23 [inlined] ijl_apply_generic at /source/src/gf.c:4598:12 _include at ./loading.jl:3192:0 (pc: 122) include at ./Base.jl:326:0 (pc: 1) IncludeInto at ./Base.jl:327:0 (pc: 2) jfptr_IncludeInto_1.1 at /opt/julia/lib/julia/sys.so (unknown line) _jl_invoke at /source/src/gf.c:4360:23 [inlined] ijl_apply_generic at /source/src/gf.c:4598:12 jl_apply at /source/src/julia.h:2388:12 [inlined] do_call at /source/src/interpreter.c:123:26 eval_value at /source/src/interpreter.c:243:16 eval_stmt_value at /source/src/interpreter.c:194:23 [inlined] eval_body at /source/src/interpreter.c:706:13 jl_interpret_toplevel_thunk at /source/src/interpreter.c:897:21 ijl_eval_thunk at /source/src/toplevel.c:768:18 jl_toplevel_eval_flex at /source/src/toplevel.c:712:26 jl_eval_toplevel_stmts at /source/src/toplevel.c:602:15 jl_eval_module_expr at /source/src/toplevel.c:263:5 [inlined] jl_toplevel_eval_flex at /source/src/toplevel.c:665:27 jl_eval_toplevel_stmts at /source/src/toplevel.c:602:15 jl_toplevel_eval_flex at /source/src/toplevel.c:684:27 ijl_toplevel_eval at /source/src/toplevel.c:782:12 ijl_toplevel_eval_in at /source/src/toplevel.c:827:13 eval at ./boot.jl:522:0 (pc: 1) include_string at ./loading.jl:3132:0 (pc: 207) _jl_invoke at /source/src/gf.c:4360:23 [inlined] ijl_apply_generic at /source/src/gf.c:4598:12 _include at ./loading.jl:3192:0 (pc: 122) include at ./Base.jl:325:0 (pc: 1) include_package_for_output at ./loading.jl:3296:0 (pc: 837) jfptr_include_package_for_output_1.1 at /opt/julia/lib/julia/sys.so (unknown line) _jl_invoke at /source/src/gf.c:4360:23 [inlined] ijl_apply_generic at /source/src/gf.c:4598:12 jl_apply at /source/src/julia.h:2388:12 [inlined] do_call at /source/src/interpreter.c:123:26 eval_value at /source/src/interpreter.c:243:16 eval_stmt_value at /source/src/interpreter.c:194:23 [inlined] eval_body at /source/src/interpreter.c:706:13 jl_interpret_toplevel_thunk at /source/src/interpreter.c:897:21 ijl_eval_thunk at /source/src/toplevel.c:768:18 jl_toplevel_eval_flex at /source/src/toplevel.c:712:26 jl_eval_toplevel_stmts at /source/src/toplevel.c:602:15 jl_toplevel_eval_flex at /source/src/toplevel.c:684:27 ijl_toplevel_eval at /source/src/toplevel.c:782:12 ijl_toplevel_eval_in at /source/src/toplevel.c:827:13 eval at ./boot.jl:522:0 (pc: 1) include_string at ./loading.jl:3132:0 (pc: 207) include_string at ./loading.jl:3142:0 [inlined] exec_options at ./client.jl:353:0 (pc: 841) _start at ./client.jl:596:0 (pc: 294) jfptr__start_0.1 at /opt/julia/lib/julia/sys.so (unknown line) _jl_invoke at /source/src/gf.c:4360:23 [inlined] ijl_apply_generic at /source/src/gf.c:4598:12 jl_apply at /source/src/julia.h:2388:12 [inlined] true_main at /source/src/jlapi.c:971:29 jl_repl_entrypoint at /source/src/jlapi.c:1138:15 main at /source/cli/loader_exe.c:58:15 unknown function (ip: 0x7d4284ac3249) at /lib/x86_64-linux-gnu/libc.so.6 __libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line) unknown function (ip: 0x4010b8) at /workspace/srcdir/glibc-2.17/csu/../sysdeps/x86_64/start.S unknown function (ip: (nil)) at (unknown file)   ============================================================== Profile collected. A report will print at the next yield point. Disabling --trace-compile ==============================================================  │ exception = │ This interactive function requires a stdlib to be loaded, and package code should instead use it directly from that stdlib. │ Stacktrace: │ [1] error(s::String) │ @ Base error.jl:56 │ [2] require_stdlib(package_uuidkey::Base.PkgId, ext::Nothing, from::Module) │ @ Base loading.jl:3024 │ [3] require_stdlib(package_uuidkey::Base.PkgId) │ @ Base loading.jl:3020 [inlined] │ [4] macro expansion │ @ some.jl:157 [inlined] │ [5] profile_printing_listener(cond::Base.AsyncCondition) │ @ Base Base.jl:357 │ [6] (::Base.var"#start_profile_listener##0#start_profile_listener##1"{Base.AsyncCondition})() │ @ Base Base.jl:376 └ @ Base Base.jl:367 73996695579 deps_ns=308736371 compilation_ns=0 methods=2327 75.8 s ✓ Colors ====================================================================================== Information request received. A stacktrace will print followed by a 1.0 second profile. --trace-compile is enabled during profile collection. ====================================================================================== cmd: /opt/julia/bin/julia 17 running 0 of 1 signal (10): User defined signal 1 epoll_pwait at /lib/x86_64-linux-gnu/libc.so.6 (unknown line) uv__io_poll at /workspace/srcdir/libuv/src/unix/linux.c:1404:0 uv_run at /workspace/srcdir/libuv/src/unix/core.c:430:0 ijl_task_get_next at /source/src/scheduler.c:524:34 wait at ./task.jl:1248:0 (pc: 107) wait_forever at ./task.jl:1170:0 (pc: 4) jfptr_wait_forever_0.1 at /opt/julia/lib/julia/sys.so (unknown line) _jl_invoke at /source/src/gf.c:4360:23 [inlined] ijl_apply_generic at /source/src/gf.c:4598:12 jl_apply at /source/src/julia.h:2388:12 [inlined] start_task at /source/src/task.c:1276:19 unknown function (ip: (nil)) at (unknown file) ============================================================== Profile collected. A report will print at the next yield point. Disabling --trace-compile ============================================================== ┌ Warning: There were no samples collected in one or more groups. │ This may be due to idle threads, or you may need to run your │ program longer (perhaps by running it multiple times), │ or adjust the delay between samples with `Profile.init()`. └ @ Profile /opt/julia/share/julia/stdlib/v1.14/Profile/src/Profile.jl:1361 Overhead ╎ [+additional indent] Count File:Line Function ========================================================= Thread 1 (default) Task 0x0000785a3237fb20 Total snapshots: 381. Utilization: 0% ╎381 @Base/task.jl:1170 wait_forever() 380╎ 381 @Base/task.jl:1248 wait() 33.2 s ✓ StructUtils → StructUtilsTablesExt ====================================================================================== Information request received. A stacktrace will print followed by a 1.0 second profile. --trace-compile is enabled during profile collection. ====================================================================================== cmd: /opt/julia/bin/julia 1 running 0 of 1 signal (10): User defined signal 1 epoll_pwait at /lib/x86_64-linux-gnu/libc.so.6 (unknown line) uv__io_poll at /workspace/srcdir/libuv/src/unix/linux.c:1404:0 uv_run at /workspace/srcdir/libuv/src/unix/core.c:430:0 ijl_task_get_next at /source/src/scheduler.c:524:34 wait at ./task.jl:1248:0 (pc: 107) wait_forever at ./task.jl:1170:0 (pc: 4) jfptr_wait_forever_0.1 at /opt/julia/lib/julia/sys.so (unknown line) _jl_invoke at /source/src/gf.c:4360:23 [inlined] ijl_apply_generic at /source/src/gf.c:4598:12 jl_apply at /source/src/julia.h:2388:12 [inlined] start_task at /source/src/task.c:1276:19 unknown function (ip: (nil)) at (unknown file) ============================================================== Profile collected. A report will print at the next yield point. Disabling --trace-compile ============================================================== ┌ Warning: There were no samples collected in one or more groups. │ This may be due to idle threads, or you may need to run your │ program longer (perhaps by running it multiple times), │ or adjust the delay between samples with `Profile.init()`. └ @ Profile /opt/julia/share/julia/stdlib/v1.14/Profile/src/Profile.jl:1361 Overhead ╎ [+additional indent] Count File:Line Function ========================================================= Thread 1 (default) Task 0x000072b5d1689a50 Total snapshots: 330. Utilization: 0% ╎330 @Base/task.jl:1170 wait_forever() 329╎ 330 @Base/task.jl:1248 wait() [17] signal 15: Terminated in expression starting at /PkgEval.jl/scripts/precompile.jl:34 epoll_pwait at /lib/x86_64-linux-gnu/libc.so.6 (unknown line) uv__io_poll at /workspace/srcdir/libuv/src/unix/linux.c:1404:0 uv_run at /workspace/srcdir/libuv/src/unix/core.c:430:0 ijl_task_get_next at /source/src/scheduler.c:524:34 wait at ./task.jl:1248:0 (pc: 107) wait_forever at ./task.jl:1170:0 (pc: 4) jfptr_wait_forever_0.1 at /opt/julia/lib/julia/sys.so (unknown line) _jl_invoke at /source/src/gf.c:4360:23 [inlined] ijl_apply_generic at /source/src/gf.c:4598:12 jl_apply at /source/src/julia.h:2388:12 [inlined] start_task at /source/src/task.c:1276:19 unknown function (ip: (nil)) at (unknown file) Allocations: 15439349 (Pool: 15438395; Big: 954); GC: 22 val already in a list atexit hook threw an error: ErrorException("schedule: Task not runnable") error at ./error.jl:56:0 (pc: 6) #schedule#625 at ./task.jl:1053:0 (pc: 71) PkgEval terminated after 2766.82s: test duration exceeded the time limit