tecosaur / About.jl

Mirror of https://code.tecosaur.net/tec/About.jl
Mozilla Public License 2.0
137 stars 7 forks source link

Failing precompilation on julia `1.11.2` #42

Open t-bltg opened 21 hours ago

t-bltg commented 21 hours ago

About fails precompilation on julia 1.11.2 (works on 1.11.1):

julia> using About
Precompiling About...
Info Given About was explicitly requested, output will be shown live 
ERROR: LoadError: ArgumentError: Wrong number of arguments to named tuple constructor.
Stacktrace:
  [1] @NamedTuple{region::UnitRange{Int64}, label::Symbol, value}(args::Tuple{UnitRange{Int64}, Pair{Symbol, Any}})
    @ Base ./namedtuple.jl:117
  [2] convert(::Type{@NamedTuple{region::UnitRange{Int64}, label::Symbol, value}}, t::Tuple{UnitRange{Int64}, Pair{Symbol, Any}})
    @ Base ./namedtuple.jl:182
  [3] setindex!(A::Memory{@NamedTuple{region::UnitRange{Int64}, label::Symbol, value}}, x::Tuple{UnitRange{Int64}, Pair{Symbol, Any}}, i1::Int64)
    @ Base ./genericmemory.jl:243
  [4] unsafe_copyto!(dest::Memory{@NamedTuple{region::UnitRange{Int64}, label::Symbol, value}}, doffs::Int64, src::Memory{Tuple{UnitRange{Int64}, Pair{Symbol, Any}}}, soffs::Int64, n::Int64)
    @ Base ./genericmemory.jl:153
  [5] unsafe_copyto!
    @ ./genericmemory.jl:133 [inlined]
  [6] _copyto_impl!
    @ ./array.jl:308 [inlined]
  [7] copyto!
    @ ./array.jl:294 [inlined]
  [8] copyto!
    @ ./array.jl:319 [inlined]
  [9] copyto_axcheck!
    @ ./abstractarray.jl:1167 [inlined]
 [10] Array
    @ ./array.jl:626 [inlined]
 [11] AnnotatedString
    @ ./strings/annotated.jl:104 [inlined]
 [12] highlight(str::String, ast::JuliaSyntax.GreenNode{JuliaSyntax.SyntaxHead})
    @ JuliaSyntaxHighlighting [...]/.julia/packages/JuliaSyntaxHighlighting/Vm3KU/src/JuliaSyntaxHighlighting.jl:397
 [13] highlight
    @ [...]/.julia/packages/JuliaSyntaxHighlighting/Vm3KU/src/JuliaSyntaxHighlighting.jl:389 [inlined]
 [14] typestr
    @ [...]/.julia/packages/About/WUpvh/src/types.jl:88 [inlined]
 [15] map(f::About.var"#typestr#15", t::Tuple{DataType, DataType})
    @ Base ./tuple.jl:356
 [16] supertypeinfo(io::Base.DevNull, type::Type)
    @ About [...]/.julia/packages/About/WUpvh/src/types.jl:89
 [17] about(io::Base.DevNull, type::Type)
    @ About [...]/.julia/packages/About/WUpvh/src/types.jl:62
 [18] macro expansion
    @ [...]/.julia/packages/About/WUpvh/src/About.jl:253 [inlined]
 [19] macro expansion
    @ [...]/.julia/packages/PrecompileTools/L8A3n/src/workloads.jl:78 [inlined]
 [20] top-level scope
    @ [...]/.julia/packages/About/WUpvh/src/About.jl:252
 [21] include
    @ ./Base.jl:557 [inlined]
 [22] include_package_for_output(pkg::Base.PkgId, input::String, 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:2881
 [23] top-level scope
    @ stdin:6
in expression starting at [...]/.julia/packages/About/WUpvh/src/About.jl:5
in expression starting at stdin:6
  ✗ About
  4 dependencies successfully precompiled in 18 seconds. 8 already precompiled.

ERROR: The following 1 direct dependency failed to precompile:

About 
tecosaur commented 21 hours ago

I know exactly what this is, there was a change in the StyledStrings update that's unfortunately breaking and narrowly missed the merge window for 1.11 (it's one of the reasons why the lib is marked as experimental). I'll need to update:

Unfortunately, I'm rather tight on time ATM. I'll see how quickly I can get to this.

danielwe commented 21 hours ago

Just flagging here that in my own attempt to track this down, I noticed some outdated constructor calls in docstrings that slipped through in the original Julia PR. Specifically here: https://github.com/JuliaLang/julia/pull/55741/files#diff-2f01122b48405cb66bf6b682b0cb968aa4a6d6cfd0ec6975e2114d04c583dd1cR59-R60

tecosaur commented 20 hours ago

Ah yep, thanks for flagging that. Feel free to open a PR (I'll review and merge it), or I'll get to it with the next batch of work.