Package evaluation to load MeshCat on Julia 1.14.0-DEV.2226 (797a5ef2b0*) started at 2026-05-24T19:18:42.704 ################################################################################ # Set-up # Set-up completed after 0.12s ################################################################################ # Installation # Installing MeshCat... Resolving package versions... Installed libaom_jll ──────────────── v3.13.3+0 Installed HarfBuzz_jll ────────────── v8.5.1+0 Installed Bzip2_jll ───────────────── v1.0.9+0 Installed libass_jll ──────────────── v0.17.4+0 Installed URIs ────────────────────── v1.6.1 Installed Libuuid_jll ─────────────── v2.42.0+0 Installed Quaternions ─────────────── v0.7.7 Installed Extents ─────────────────── v0.1.6 Installed ExceptionUnwrapping ─────── v0.1.11 Installed ConcurrentUtilities ─────── v2.5.1 Installed x264_jll ────────────────── v10164.0.1+0 Installed CodecZlib ───────────────── v0.7.8 Installed TranscodingStreams ──────── v0.11.3 Installed Xorg_libXau_jll ─────────── v1.0.13+0 Installed Libmount_jll ────────────── v2.42.0+0 Installed EarCut_jll ──────────────── v2.2.4+0 Installed OrderedCollections ──────── v1.8.1 Installed Cairo_jll ───────────────── v1.18.7+0 Installed Statistics ──────────────── v1.11.1 Installed Xorg_libX11_jll ─────────── v1.8.13+0 Installed Graphite2_jll ───────────── v1.3.15+0 Installed MbedTLS ─────────────────── v1.1.10 Installed MeshCat ─────────────────── v1.1.2 Installed Xorg_libXfixes_jll ──────── v6.0.2+0 Installed Xorg_libpciaccess_jll ───── v0.19.0+0 Installed Colors ──────────────────── v0.13.1 Installed OpenSSL ─────────────────── v1.6.1 Installed PrecompileTools ─────────── v1.3.4 Installed StaticArrays ────────────── v1.9.18 Installed CoordinateTransformations ─ v0.6.4 Installed RealDot ─────────────────── v0.1.0 Installed Libffi_jll ──────────────── v3.4.7+0 Installed StaticArraysCore ────────── v1.4.4 Installed Pixman_jll ──────────────── v0.46.4+0 Installed LoggingExtras ───────────── v1.2.0 Installed Fontconfig_jll ──────────── v2.17.1+0 Installed Expat_jll ───────────────── v2.8.0+0 Installed GettextRuntime_jll ──────── v0.22.4+0 Installed Glib_jll ────────────────── v2.86.3+0 Installed ColorTypes ──────────────── v0.12.1 Installed libpng_jll ──────────────── v1.6.58+0 Installed LAME_jll ────────────────── v3.100.3+0 Installed FriBidi_jll ─────────────── v1.0.17+0 Installed HTTP ────────────────────── v1.11.0 Installed Opus_jll ────────────────── v1.6.1+0 Installed BitFlags ────────────────── v0.1.9 Installed libfdk_aac_jll ──────────── v2.0.4+0 Installed libvorbis_jll ───────────── v1.3.8+0 Installed Parameters ──────────────── v0.12.3 Installed Xorg_libXrender_jll ─────── v0.9.12+0 Installed MsgPack ─────────────────── v1.2.1 Installed Ogg_jll ─────────────────── v1.3.6+0 Installed Reexport ────────────────── v1.2.2 Installed FixedPointNumbers ───────── v0.8.5 Installed libva_jll ───────────────── v2.23.0+0 Installed SimpleBufferStream ──────── v1.2.0 Installed Xorg_libxcb_jll ─────────── v1.17.1+0 Installed FFMPEG_jll ──────────────── v8.1.0+0 Installed Xorg_libXdmcp_jll ───────── v1.1.6+0 Installed Preferences ─────────────── v1.5.2 Installed Rotations ───────────────── v1.7.1 Installed Libiconv_jll ────────────── v1.18.0+0 Installed FFMPEG ──────────────────── v0.4.5 Installed FreeType2_jll ───────────── v2.14.3+1 Installed MbedTLS_jll ─────────────── v2.28.1010+0 Installed JLLWrappers ─────────────── v1.8.0 Installed x265_jll ────────────────── v4.1.0+0 Installed UnPack ──────────────────── v1.0.2 Installed IterTools ───────────────── v1.10.0 Installed LLVMOpenMP_jll ──────────── v18.1.8+0 Installed Xorg_libXext_jll ────────── v1.3.8+0 Installed DocStringExtensions ─────── v0.9.5 Installed libdrm_jll ──────────────── v2.4.125+1 Installed GeometryBasics ──────────── v0.5.10 Installed Xorg_xtrans_jll ─────────── v1.6.0+0 Installing 41 artifacts Installed artifact Xorg_libXau 36.6 KiB Installed artifact Ogg 250.3 KiB Installed artifact Xorg_xtrans 48.2 KiB Installed artifact Expat 287.9 KiB Installed artifact libpng 329.4 KiB Installed artifact Opus 960.9 KiB Installed artifact Xorg_libpciaccess 26.2 KiB Installed artifact Pixman 390.8 KiB Installed artifact libvorbis 271.0 KiB Installed artifact FreeType2 1.5 MiB Installed artifact libdrm 368.0 KiB Installed artifact FriBidi 78.9 KiB Installed artifact GettextRuntime 543.0 KiB Installed artifact Cairo 2.2 MiB Installed artifact Bzip2 503.5 KiB Installed artifact LAME 292.5 KiB Installed artifact Xorg_libxcb 2.1 MiB Installed artifact Xorg_libXdmcp 67.7 KiB Installed artifact libva 235.7 KiB Installed artifact libass 427.8 KiB Installed artifact HarfBuzz 1.7 MiB Installed artifact EarCut 80.5 KiB Installed artifact LLVMOpenMP 661.6 KiB Installed artifact Libffi 44.2 KiB Installed artifact meshcat 946.3 KiB Installed artifact Xorg_libXext 286.6 KiB Installed artifact MbedTLS 2.2 MiB Installed artifact x264 2.1 MiB Installed artifact Fontconfig 984.8 KiB Installed artifact FFMPEG 11.9 MiB Installed artifact Xorg_libX11 4.8 MiB Installed artifact Graphite2 120.2 KiB Installed artifact Libuuid 3.9 MiB Installed artifact libaom 6.4 MiB Installed artifact Xorg_libXrender 435.9 KiB Installed artifact Xorg_libXfixes 59.0 KiB Installed artifact Libmount 6.9 MiB Installed artifact Libiconv 1.9 MiB Installed artifact x265 1.4 MiB Installed artifact libfdk_aac 2.8 MiB Installed artifact Glib 7.7 MiB Updating `~/.julia/environments/v1.14/Project.toml` [283c5d60] + MeshCat v1.1.2 Updating `~/.julia/environments/v1.14/Manifest.toml` [d1d4a3ce] + BitFlags v0.1.9 [944b1d66] + CodecZlib v0.7.8 [3da002f7] + ColorTypes v0.12.1 [5ae59095] + Colors v0.13.1 [f0e56b4a] + ConcurrentUtilities v2.5.1 [150eb455] + CoordinateTransformations v0.6.4 [ffbed154] + DocStringExtensions v0.9.5 [460bff9d] + ExceptionUnwrapping v0.1.11 [411431e0] + Extents v0.1.6 [c87230d0] + FFMPEG v0.4.5 [53c48c17] + FixedPointNumbers v0.8.5 [5c1252a2] + GeometryBasics v0.5.10 [cd3eb016] + HTTP v1.11.0 [c8e1da08] + IterTools v1.10.0 [692b3bcd] + JLLWrappers v1.8.0 [e6f89c97] + LoggingExtras v1.2.0 [739be429] + MbedTLS v1.1.10 [283c5d60] + MeshCat v1.1.2 [99f44e22] + MsgPack v1.2.1 [4d8831e6] + OpenSSL v1.6.1 [bac558e1] + OrderedCollections v1.8.1 [d96e819e] + Parameters v0.12.3 [aea7be01] + PrecompileTools v1.3.4 [21216c6a] + Preferences v1.5.2 [94ee1d12] + Quaternions v0.7.7 [c1ae055f] + RealDot v0.1.0 [189a3867] + Reexport v1.2.2 [6038ab10] + Rotations v1.7.1 [777ac1f9] + SimpleBufferStream v1.2.0 [90137ffa] + StaticArrays v1.9.18 [1e83bf80] + StaticArraysCore v1.4.4 [10745b16] + Statistics v1.11.1 [3bb67fe8] + TranscodingStreams v0.11.3 [5c2747f8] + URIs v1.6.1 [3a884ed6] + UnPack v1.0.2 [6e34b625] + Bzip2_jll v1.0.9+0 [83423d85] + Cairo_jll v1.18.7+0 [5ae413db] + EarCut_jll v2.2.4+0 [2e619515] + Expat_jll v2.8.0+0 [b22a6f82] + FFMPEG_jll v8.1.0+0 [a3f928ae] + Fontconfig_jll v2.17.1+0 [d7e528f0] + FreeType2_jll v2.14.3+1 [559328eb] + FriBidi_jll v1.0.17+0 ⌅ [b0724c58] + GettextRuntime_jll v0.22.4+0 [7746bdde] + Glib_jll v2.86.3+0 [3b182d85] + Graphite2_jll v1.3.15+0 [2e76f6c2] + HarfBuzz_jll v8.5.1+0 [c1c5ebd0] + LAME_jll v3.100.3+0 [1d63c593] + LLVMOpenMP_jll v18.1.8+0 ⌅ [e9f186c6] + Libffi_jll v3.4.7+0 [94ce4f54] + Libiconv_jll v1.18.0+0 [4b2f31a3] + Libmount_jll v2.42.0+0 [38a345b3] + Libuuid_jll v2.42.0+0 [c8ffd9c3] + MbedTLS_jll v2.28.1010+0 [e7412a2a] + Ogg_jll v1.3.6+0 [91d4177d] + Opus_jll v1.6.1+0 [30392449] + Pixman_jll v0.46.4+0 [4f6342f7] + Xorg_libX11_jll v1.8.13+0 [0c0b7dd1] + Xorg_libXau_jll v1.0.13+0 [a3789734] + Xorg_libXdmcp_jll v1.1.6+0 [1082639a] + Xorg_libXext_jll v1.3.8+0 [d091e8ba] + Xorg_libXfixes_jll v6.0.2+0 [ea2f1a96] + Xorg_libXrender_jll v0.9.12+0 [a65dc6b1] + Xorg_libpciaccess_jll v0.19.0+0 [c7cfdc94] + Xorg_libxcb_jll v1.17.1+0 [c5fb5394] + Xorg_xtrans_jll v1.6.0+0 [a4ae2306] + libaom_jll v3.13.3+0 [0ac62f75] + libass_jll v0.17.4+0 [8e53e030] + libdrm_jll v2.4.125+1 [f638f0a6] + libfdk_aac_jll v2.0.4+0 [b53b4c65] + libpng_jll v1.6.58+0 [9a156e7d] + libva_jll v2.23.0+0 [f27f6e37] + libvorbis_jll v1.3.8+0 ⌅ [1270edf5] + x264_jll v10164.0.1+0 [dfaa095f] + x265_jll v4.1.0+0 [0dad84c5] + ArgTools v1.1.2 [56f22d72] + Artifacts v1.11.0 [2a0f44e3] + Base64 v1.11.0 [ade2ca70] + Dates v1.11.0 [f43a241f] + Downloads v1.7.0 [7b1f6079] + FileWatching v1.11.0 [b77e0a4c] + InteractiveUtils v1.11.0 [ac6e5ff7] + JuliaSyntaxHighlighting v1.13.0 [b27032c2] + LibCURL v1.0.0 [76f85450] + LibGit2 v1.11.0 [8f399da3] + Libdl v1.11.0 [37e2e46d] + LinearAlgebra v1.13.0 [56ddb016] + Logging v1.11.0 [d6f4376e] + Markdown v1.11.0 [ca575930] + NetworkOptions v1.3.0 [44cfe95a] + Pkg v1.14.0 [de0858da] + Printf v1.11.0 [9a3f8284] + Random v1.11.0 [ea8e919c] + SHA v1.13.0 [9e88b42a] + Serialization v1.11.0 [6462fe0b] + Sockets v1.11.0 [f489334b] + StyledStrings v1.13.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 [e66e0078] + CompilerSupportLibraries_jll v1.5.1+0 [deac9b47] + LibCURL_jll v8.20.0+1 [e37daf67] + LibGit2_jll v1.9.3+0 [29816b5a] + LibSSH2_jll v1.11.101+0 [14a3606d] + MozillaCACerts_jll v2026.5.14 [4536629a] + OpenBLAS_jll v0.3.33+0 [458c3c95] + OpenSSL_jll v3.5.6+0 [efcefdf7] + PCRE2_jll v10.47.0+0 [83775a58] + Zlib_jll v1.3.2+0 [3161d3a3] + Zstd_jll v1.5.7+1 [8e850b90] + libblastrampoline_jll v5.15.0+0 [8e850ede] + nghttp2_jll v1.69.0+0 [3f19e933] + p7zip_jll v17.8.0+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 20.21s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Project No packages added to or removed from `~/.julia/environments/pkgeval/Project.toml` Manifest No packages added to or removed from `~/.julia/environments/pkgeval/Manifest.toml` Precompiling package dependencies... Precompiling project... 0.6 s ✓ Reexport 1.0 s ✓ Statistics 0.6 s ✓ UnPack 0.5 s ✓ RealDot 0.9 s ✓ StaticArraysCore 1.1 s ✓ Extents 30.7 s ✓ URIs 150.3 s ✓ OrderedCollections 37.7 s ✓ BitFlags 1.1 s ✓ DocStringExtensions 438.9 s ✓ IterTools 56.5 s ✓ TranscodingStreams 0.7 s ✓ SimpleBufferStream 1.5 s ✓ MsgPack ┌ Info: JuliaLowering threw given input: │ code = │ :(mutable struct Worker │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:35 =# │ lock::ReentrantLock │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:36 =# │ pid::Int │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:37 =# │ process::Base.Process │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:38 =# │ server::Sockets.PipeServer │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:39 =# │ pipe::Base.PipeEndpoint │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:40 =# │ messages::Task │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:41 =# │ output::Task │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:42 =# │ process_watch::Task │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:43 =# │ worksubmission::Task │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:44 =# │ workqueue::Channel{Tuple{Request, FutureResult}} │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:45 =# │ futures::Dict{UInt64, FutureResult} │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:46 =# │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:46 =# @static if VERSION < v"1.7" │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:47 =# │ terminated::Threads.Atomic{Bool} │ else │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:49 =# │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:49 =# @atomic terminated::Bool │ end │ 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__ │ [struct] │ │ true :: Value │ │ Worker :: Identifier │ │ [block] │ │ [::] │ │ lock :: Identifier │ │ ReentrantLock :: Identifier │ │ [::] │ │ pid :: Identifier │ │ Int :: Identifier │ │ [::] │ │ process :: Identifier │ │ [.] │ │ Base :: Identifier │ │ [inert] │ │ Process :: Identifier │ │ [::] │ │ server :: Identifier │ │ [.] │ │ Sockets :: Identifier │ │ [inert] │ │ PipeServer :: Identifier │ │ [::] │ │ pipe :: Identifier │ │ [.] │ │ Base :: Identifier │ │ [inert] │ │ PipeEndpoint :: Identifier │ │ [::] │ │ messages :: Identifier │ │ Task :: Identifier │ │ [::] │ │ output :: Identifier │ │ Task :: Identifier │ │ [::] │ │ process_watch :: Identifier │ │ Task :: Identifier │ │ [::] │ │ worksubmission :: Identifier │ │ Task :: Identifier │ │ [::] │ │ workqueue :: Identifier │ │ [curly] │ │ Channel :: Identifier │ │ [curly] │ │ Tuple :: Identifier │ │ Request :: Identifier │ │ FutureResult :: Identifier │ │ [::] │ │ futures :: Identifier │ │ [curly] │ │ Dict :: Identifier │ │ UInt64 :: Identifier │ │ FutureResult :: Identifier │ │ [macrocall] │ │ @static :: Identifier │ │ :(#= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:46 =#) :: Value │ │ [if] │ │ [call] │ │ < :: Identifier │ │ VERSION :: Identifier │ │ [macrocall] │ │ @v_str :: Identifier │ │ :(#= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:46 =#) :: Value │ │ "1.7" :: Value │ │ [block] │ │ [::] │ │ terminated :: Identifier │ │ [curly] │ │ [.] │ │ Threads :: Identifier │ │ [inert] │ │ Atomic :: Identifier │ │ Bool :: Identifier │ │ [block] │ │ [macrocall] │ │ @atomic :: Identifier │ │ :(#= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:49 =#) :: Value │ │ [::] │ │ terminated :: Identifier │ │ Bool :: 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 │ [struct] │ │ true :: Value │ │ Worker :: Identifier │ scope_layer=1 │ [block] │ │ [::] │ │ lock :: Identifier │ scope_layer=1 │ ReentrantLock :: Identifier │ scope_layer=1 │ [::] │ │ pid :: Identifier │ scope_layer=1 │ Int :: Identifier │ scope_layer=1 │ [::] │ │ process :: Identifier │ scope_layer=1 │ [.] │ │ Base :: Identifier │ scope_layer=1 │ [inert] │ │ Process :: Identifier │ │ [::] │ │ server :: Identifier │ scope_layer=1 │ [.] │ │ Sockets :: Identifier │ scope_layer=1 │ [inert] │ │ PipeServer :: Identifier │ │ [::] │ │ pipe :: Identifier │ scope_layer=1 │ [.] │ │ Base :: Identifier │ scope_layer=1 │ [inert] │ │ PipeEndpoint :: Identifier │ │ [::] │ │ messages :: Identifier │ scope_layer=1 │ Task :: Identifier │ scope_layer=1 │ [::] │ │ output :: Identifier │ scope_layer=1 │ Task :: Identifier │ scope_layer=1 │ [::] │ │ process_watch :: Identifier │ scope_layer=1 │ Task :: Identifier │ scope_layer=1 │ [::] │ │ worksubmission :: Identifier │ scope_layer=1 │ Task :: Identifier │ scope_layer=1 │ [::] │ │ workqueue :: Identifier │ scope_layer=1 │ [curly] │ │ Channel :: Identifier │ scope_layer=1 │ [curly] │ │ Tuple :: Identifier │ scope_layer=1 │ Request :: Identifier │ scope_layer=1 │ FutureResult :: Identifier │ scope_layer=1 │ [::] │ │ futures :: Identifier │ scope_layer=1 │ [curly] │ │ Dict :: Identifier │ scope_layer=1 │ UInt64 :: Identifier │ scope_layer=1 │ FutureResult :: Identifier │ scope_layer=1 │ [block] │ │ [atomic] │ │ [::] │ │ terminated :: Identifier │ scope_layer=1 │ Bool :: Identifier │ scope_layer=1 │ │ file = "/home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl" │ line = 34 └ mod = ConcurrentUtilities.Workers ERROR: LoadError: LoweringError: #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:49 =# - unimplemented or unsupported `atomic` declaration Expression:  (atomic (:: terminated Bool)) Containing expressions:  (struct true Worker (block (:: lock ReentrantLock) (:: pid Int) (:: process (. Base (inert Process))) (:: server (. Sockets (inert PipeServer))) (:: pipe (. Base (inert PipeEndpoint))) (:: messages Task) (:: output Task) (:: process_watch Task) (:: worksubmission Task) (:: workqueue (curly Channel (curly Tuple Request FutureResult))) (:: futures (curly Dict UInt64 FutureResult)) (block (atomic (:: terminated Bool)))))  Detailed provenance:  (atomic (:: terminated Bool))  └─ (atomic (:: terminated Bool))  ├─ @ /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:49  └─ (macrocall @atomic :(#= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:49 =#) (:: terminated Bool))  ├─ @ /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:49  └─ (macrocall @static :(#= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:46 =#) (if (call < VERSION (macrocall @v_str :(#= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:46 =#) "1.7")) (block (:: terminated (curly (. Threads (inert Atomic)) Bool))) (block (macrocall @atomic :(#= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:49 =#) (:: terminated Bool)))))  └─ @ /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:46  Stacktrace:  [1] 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:4467  [2] 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:30  [3] include(mapexpr::Function, mod::Module, _path::String)  @ Base ./Base.jl:327  [4] top-level scope  @ ~/.julia/packages/ConcurrentUtilities/hQBsU/src/ConcurrentUtilities.jl:17  [5] include(mod::Module, _path::String)  @ Base ./Base.jl:326  [6] 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  [7] top-level scope  @ stdin:5  [8] eval(m::Module, e::Any)  @ Core ./boot.jl:517  [9] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)  @ Base ./loading.jl:3113  [10] push!(a::Vector{SubString{String}}, item::String)  @ Base ./loading.jl:3123 [inlined]  [11] exec_options(opts::Base.JLOptions)  @ Base ./client.jl:353  [12] _start()  @ Base ./client.jl:596 in expression starting at /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:1 in expression starting at /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/ConcurrentUtilities.jl:1 in expression starting at stdin:5 ✗ ConcurrentUtilities 2.0 s ✓ LoggingExtras 2.3 s ✓ Preferences 38.2 s ✓ ExceptionUnwrapping 42.3 s ✓ FixedPointNumbers 1.1 s ✓ Quaternions 39.0 s ✓ Parameters 70.8 s ✓ OpenSSL 20.6 s ✓ CodecZlib 2.7 s ✓ JLLWrappers 2.4 s ✓ PrecompileTools 43.1 s ✓ ColorTypes 3.1 s ✓ Libmount_jll 2.9 s ✓ Libffi_jll 3.0 s ✓ libfdk_aac_jll 3.0 s ✓ Opus_jll 2.9 s ✓ Graphite2_jll 2.8 s ✓ Libuuid_jll 2.8 s ✓ x265_jll 3.0 s ✓ x264_jll 3.0 s ✓ EarCut_jll 3.0 s ✓ FriBidi_jll 3.0 s ✓ libpng_jll 3.1 s ✓ Xorg_libpciaccess_jll 2.9 s ✓ Bzip2_jll 3.2 s ✓ LLVMOpenMP_jll 3.0 s ✓ Libiconv_jll 3.0 s ✓ MbedTLS_jll 3.0 s ✓ Xorg_libXau_jll 3.0 s ✓ libaom_jll 2.8 s ✓ Xorg_libXdmcp_jll 2.8 s ✓ Ogg_jll 3.0 s ✓ LAME_jll 3.0 s ✓ Expat_jll 2.3 s ✓ Xorg_xtrans_jll 300.4 s ✓ StaticArrays 36.7 s ✓ ColorTypes → StyledStringsExt 87.8 s ✓ Colors 2.9 s ✓ libdrm_jll 3.1 s ✓ FreeType2_jll 2.8 s ✓ Pixman_jll 2.9 s ✓ GettextRuntime_jll 3.3 s ✓ MbedTLS 3.1 s ✓ Xorg_libxcb_jll 3.0 s ✓ libvorbis_jll 34.2 s ✓ StaticArrays → StaticArraysStatisticsExt 74.1 s ✓ CoordinateTransformations 39.4 s ✓ Rotations ┌ Info: JuliaLowering threw given input: │ code = │ :(#= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:453 =# Core.@doc " Mesh{PositionDim, PositionType, FaceType, VertexAttributeNames, VertexAttributeTypes, FaceVectorType} <: AbstractMesh{PositionDim, PositionType} <: AbstractGeometry{PositionDim, PositionType}\n\nThe type of a concrete mesh. The associated struct contains 3 fields:\n\n```julia\nstruct Mesh{...}\n vertex_attributes::NamedTuple{VertexAttributeNames, VertexAttributeTypes}\n faces::FaceVectorType\n views::Vector{UnitRange{Int}}\nend\n```\n\nA vertex typically carries multiple distinct pieces of data, e.g. a position,\na normal, a texture coordinate, etc. We call those pieces of data vertex\nattributes. The `vertex_attributes` field contains the name and a collection\n`<: AbstractVector` or `<: FaceView` for each attribute. The n-th element of that\ncollection is the value of the corresponding attribute for the n-th vertex.\n\n```julia\n# vertex 1 2 3\nvertex_attributes[:position] = [pos1, pos2, pos3, ...]\nvertex_attributes[:normal] = [normal1, normal2, normal3, ...]\n...\n```\n\nA `NamedTuple` is used here to allow different meshes to carry different vertex\nattributes while also keeping things type stable. The constructor enforces a\nfew restrictions:\n- The first attribute must be named `position` and must have a `Point{PositionDim, PositionType}` eltype.\n- Each vertex attribute must refer to the same number of vertices. (All vertex attributes defined by\nAbstractVector must match in length. For FaceViews, the number of faces needs to match.)\n\nSee also: [`vertex_attributes`](@ref), [`coordinates`](@ref), [`normals`](@ref),\n[`texturecoordinates`](@ref), [`decompose`](@ref), [`FaceView`](@ref),\n[`expand_faceviews`](@ref)\n\nThe `faces` field is a collection `<: AbstractVector{FaceType}` containing faces\nthat describe how vertices are connected. Typically these are `(GL)TriangleFace`s\nor `QuadFace`s, but they can be any collection of vertex indices `<: AbstractFace`.\n\nSee also: [`faces`](@ref), [`decompose`](@ref)\n\nThe `views` field can be used to separate the mesh into mutliple submeshes. Each\nsubmesh is described by a \"view\" into the `faces` vector, i.e. submesh n uses\n`mesh.faces[mesh.views[n]]`. A `Mesh` can be constructed without `views`, which\nresults in an empty `views` vector.\n\nSee also: [`merge`](@ref), [`split_mesh`](@ref)\n" struct Mesh{Dim, T <: Real, FT <: AbstractFace, Names, VAT <: Tuple{<:AbstractVector{Point{Dim, T}}, Vararg{VertexAttributeType}}, FVT <: AbstractVector{FT}} <: AbstractMesh{Dim, T} │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:511 =# │ vertex_attributes::NamedTuple{Names, VAT} │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:512 =# │ faces::FVT │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:513 =# │ views::Vector{UnitRange{UInt32}} │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:515 =# │ function Mesh(vertex_attributes::NamedTuple{Names, VAT}, fs::FVT, views::Vector{<:UnitRange{<:Integer}} = UnitRange{UInt32}[]) where {FT <: AbstractFace, FVT <: AbstractVector{FT}, Names, Dim, T, VAT <: Tuple{<:AbstractVector{Point{Dim, T}}, Vararg{VertexAttributeType}}} │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:515 =# │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:524 =# │ va = vertex_attributes │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:525 =# │ names = Names │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:528 =# │ if !(haskey(va, :position)) │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:529 =# │ error("Vertex attributes must have a :position attribute.") │ end │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:532 =# │ if haskey(va, :normals) │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:533 =# │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:533 =# @warn "`normals` as a vertex attribute name has been deprecated in favor of `normal` to bring it in line with mesh.position and mesh.uv" │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:534 =# │ names = ntuple((i->begin │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:534 =# │ ifelse(names[i] == :normal, :normal, names[i]) │ end), length(names)) │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:535 =# │ va = NamedTuple{names}(values(va)) │ end │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:541 =# │ N = maximum((f->begin │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:541 =# │ value(maximum(f)) │ end), fs, init = 0) │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:542 =# │ for (name, attrib) = pairs(va) │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:543 =# │ if attrib isa FaceView │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:544 =# │ try │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:545 =# │ verify(fs, attrib) │ catch e │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:547 =# │ rethrow(ErrorException("Failed to verify $(name) attribute:\n$(e.msg)")) │ end │ else │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:550 =# │ length(attrib) < N && error("Failed to verify $(name) attribute:\nFaces address $(N) vertex attributes but only $(length(attrib)) are present.") │ end │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:552 =# │ end │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:554 =# │ return new{Dim, T, FT, names, VAT, FVT}(va, fs, views) │ end │ 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/GeometryBasics/yB1f1/src/basic_types.jl:453 =#) :: Value │ │ " Mesh{PositionDim, PositionType, FaceType, VertexAttributeNames, VertexAttributeTypes, FaceVectorType} <: AbstractMesh{PositionDim, PositionType} <: AbstractGeometry{PositionDim, PositionType}\n\nThe type of a concrete mesh. The associated struct contains 3 fields:\n\n```julia\nstruct Mesh{...}\n vertex_attributes::NamedTuple{VertexAttributeNames, VertexAttributeTypes}\n faces::FaceVectorType\n views::Vector{UnitRange{Int}}\nend\n```\n\nA vertex typically carries multiple distinct pieces of data, e.g. a position,\na normal, a texture coordinate, etc. We call those pieces of data vertex\nattributes. The `vertex_attributes` field contains the name and a collection\n`<: AbstractVector` or `<: FaceView` for each attribute. The n-th element of that\ncollection is the value of the corresponding attribute for the n-th vertex.\n\n```julia\n# vertex 1 2 3\nvertex_attributes[:position] = [pos1, pos2, pos3, ...]\nvertex_attributes[:normal] = [normal1, normal2, normal3, ...]\n...\n```\n\nA `NamedTuple` is used here to allow different meshes to carry different vertex\nattributes while also keeping things type stable. The constructor enforces a\nfew restrictions:\n- The first attribute must be named `position` and must have a `Point{PositionDim, PositionType}` eltype.\n- Each vertex attribute must refer to the same number of vertices. (All vertex attributes defined by\nAbstractVector must match in length. For FaceViews, the number of faces needs to match.)\n\nSee also: [`vertex_attributes`](@ref), [`coordinates`](@ref), [`normals`](@ref),\n[`texturecoordinates`](@ref), [`decompose`](@ref), [`FaceView`](@ref),\n[`expand_faceviews`](@ref)\n\nThe `faces` field is a collection `<: AbstractVector{FaceType}` containing faces\nthat describe how vertices are connected. Typically these are `(GL)TriangleFace`s\nor `QuadFace`s, but they can be any collection of vertex indices `<: AbstractFace`.\n\nSee also: [`faces`](@ref), [`decompose`](@ref)\n\nThe `views` field can be used to separate the mesh into mutliple submeshes. Each\nsubmesh is described by a \"view\" into the `faces` vector, i.e. submesh n uses\n`mesh.faces[mesh.views[n]]`. A `Mesh` can be constructed without `views`, which\nresults in an empty `views` vector.\n\nSee also: [`merge`](@ref), [`split_mesh`](@ref)\n" :: Value │ │ [struct] │ │ false :: Value │ │ [<:] │ │ [curly] │ │ Mesh :: Identifier │ │ Dim :: Identifier │ │ [<:] │ │ T :: Identifier │ │ Real :: Identifier │ │ [<:] │ │ FT :: Identifier │ │ AbstractFace :: Identifier │ │ Names :: Identifier │ │ [<:] │ │ VAT :: Identifier │ │ [curly] │ │ Tuple :: Identifier │ │ [<:] │ │ [curly] │ │ AbstractVector :: Identifier │ │ [curly] │ │ Point :: Identifier │ │ Dim :: Identifier │ │ T :: Identifier │ │ [curly] │ │ Vararg :: Identifier │ │ VertexAttributeType :: Identifier │ │ [<:] │ │ FVT :: Identifier │ │ [curly] │ │ AbstractVector :: Identifier │ │ FT :: Identifier │ │ [curly] │ │ AbstractMesh :: Identifier │ │ Dim :: Identifier │ │ T :: Identifier │ │ [block] │ │ [::] │ │ vertex_attributes :: Identifier │ │ [curly] │ │ NamedTuple :: Identifier │ │ Names :: Identifier │ │ VAT :: Identifier │ │ [::] │ │ faces :: Identifier │ │ FVT :: Identifier │ │ [::] │ │ views :: Identifier │ │ [curly] │ │ Vector :: Identifier │ │ [curly] │ │ UnitRange :: Identifier │ │ UInt32 :: Identifier │ │ [function] │ │ [where] │ │ [call] │ │ Mesh :: Identifier │ │ [::] │ │ vertex_attributes :: Identifier │ │ [curly] │ │ NamedTuple :: Identifier │ │ Names :: Identifier │ │ VAT :: Identifier │ │ [::] │ │ fs :: Identifier │ │ FVT :: Identifier │ │ [kw] │ │ [::] │ │ views :: Identifier │ │ [curly] │ │ Vector :: Identifier │ │ [<:] │ │ [curly] │ │ UnitRange :: Identifier │ │ [<:] │ │ Integer :: Identifier │ │ [ref] │ │ [curly] │ │ UnitRange :: Identifier │ │ UInt32 :: Identifier │ │ [<:] │ │ FT :: Identifier │ │ AbstractFace :: Identifier │ │ [<:] │ │ FVT :: Identifier │ │ [curly] │ │ AbstractVector :: Identifier │ │ FT :: Identifier │ │ Names :: Identifier │ │ Dim :: Identifier │ │ T :: Identifier │ │ [<:] │ │ VAT :: Identifier │ │ [curly] │ │ Tuple :: Identifier │ │ [<:] │ │ [curly] │ │ AbstractVector :: Identifier │ │ [curly] │ │ Point :: Identifier │ │ Dim :: Identifier │ │ T :: Identifier │ │ [curly] │ │ Vararg :: Identifier │ │ VertexAttributeType :: Identifier │ │ [block] │ │ [=] │ │ va :: Identifier │ │ vertex_attributes :: Identifier │ │ [=] │ │ names :: Identifier │ │ Names :: Identifier │ │ [if] │ │ [call] │ │ ! :: Identifier │ │ [call] │ │ haskey :: Identifier │ │ va :: Identifier │ │ [inert] │ │ position :: Identifier │ │ [block] │ │ [call] │ │ error :: Identifier │ │ "Vertex attributes must have a :position attribute." :: Value │ │ [if] │ │ [call] │ │ haskey :: Identifier │ │ va :: Identifier │ │ [inert] │ │ normals :: Identifier │ │ [block] │ │ [macrocall] │ │ @warn :: Identifier │ │ :(#= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:533 =#) :: Value │ │ "`normals` as a vertex attribute name has been deprecated in favor of `normal` to bring it in line with mesh.position and mesh.uv" :: Value │ │ [=] │ │ names :: Identifier │ │ [call] │ │ ntuple :: Identifier │ │ [->] │ │ i :: Identifier │ │ [block] │ │ [call] │ │ ifelse :: Identifier │ │ [call] │ │ == :: Identifier │ │ [ref] │ │ names :: Identifier │ │ i :: Identifier │ │ [inert] │ │ normal :: Identifier │ │ [inert] │ │ normal :: Identifier │ │ [ref] │ │ names :: Identifier │ │ i :: Identifier │ │ [call] │ │ length :: Identifier │ │ names :: Identifier │ │ [=] │ │ va :: Identifier │ │ [call] │ │ [curly] │ │ NamedTuple :: Identifier │ │ names :: Identifier │ │ [call] │ │ values :: Identifier │ │ va :: Identifier │ │ [=] │ │ N :: Identifier │ │ [call] │ │ maximum :: Identifier │ │ [->] │ │ f :: Identifier │ │ [block] │ │ [call] │ │ value :: Identifier │ │ [call] │ │ maximum :: Identifier │ │ f :: Identifier │ │ fs :: Identifier │ │ [kw] │ │ init :: Identifier │ │ 0 :: Value │ │ [for] │ │ [=] │ │ [tuple] │ │ name :: Identifier │ │ attrib :: Identifier │ │ [call] │ │ pairs :: Identifier │ │ va :: Identifier │ │ [block] │ │ [if] │ │ [call] │ │ isa :: Identifier │ │ attrib :: Identifier │ │ FaceView :: Identifier │ │ [block] │ │ [try] │ │ [block] │ │ [call] │ │ verify :: Identifier │ │ fs :: Identifier │ │ attrib :: Identifier │ │ e :: Identifier │ │ [block] │ │ [call] │ │ rethrow :: Identifier │ │ [call] │ │ ErrorException :: Identifier │ │ [string] │ │ "Failed to verify " :: Value │ │ name :: Identifier │ │ " attribute:\n" :: Value │ │ [.] │ │ e :: Identifier │ │ [inert] │ │ msg :: Identifier │ │ [block] │ │ [&&] │ │ [call] │ │ < :: Identifier │ │ [call] │ │ length :: Identifier │ │ attrib :: Identifier │ │ N :: Identifier │ │ [call] │ │ error :: Identifier │ │ [string] │ │ "Failed to verify " :: Value │ │ name :: Identifier │ │ " attribute:\nFaces address " :: Value │ │ N :: Identifier │ │ " vertex attributes but only " :: Value │ │ [call] │ │ length :: Identifier │ │ attrib :: Identifier │ │ " are present." :: Value │ │ [return] │ │ [call] │ │ [curly] │ │ new :: Identifier │ │ Dim :: Identifier │ │ T :: Identifier │ │ FT :: Identifier │ │ names :: Identifier │ │ VAT :: Identifier │ │ FVT :: Identifier │ │ va :: Identifier │ │ fs :: Identifier │ │ views :: 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 │ [struct] │ │ false :: Value │ macro_source=256 │ [<:] │ scope_layer=1 │ [curly] │ │ Mesh :: Identifier │ scope_layer=1 │ Dim :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ Real :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ FT :: Identifier │ scope_layer=1 │ AbstractFace :: Identifier │ scope_layer=1 │ Names :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ VAT :: Identifier │ scope_layer=1 │ [curly] │ │ Tuple :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ [curly] │ │ AbstractVector :: Identifier │ scope_layer=1 │ [curly] │ │ Point :: Identifier │ scope_layer=1 │ Dim :: Identifier │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ [curly] │ │ Vararg :: Identifier │ scope_layer=1 │ VertexAttributeType :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ FVT :: Identifier │ scope_layer=1 │ [curly] │ │ AbstractVector :: Identifier │ scope_layer=1 │ FT :: Identifier │ scope_layer=1 │ [curly] │ │ AbstractMesh :: Identifier │ scope_layer=1 │ Dim :: Identifier │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ [block] │ │ [::] │ │ vertex_attributes :: Identifier │ scope_layer=1 │ [curly] │ │ NamedTuple :: Identifier │ scope_layer=1 │ Names :: Identifier │ scope_layer=1 │ VAT :: Identifier │ scope_layer=1 │ [::] │ │ faces :: Identifier │ scope_layer=1 │ FVT :: Identifier │ scope_layer=1 │ [::] │ │ views :: Identifier │ scope_layer=1 │ [curly] │ │ Vector :: Identifier │ scope_layer=1 │ [curly] │ │ UnitRange :: Identifier │ scope_layer=1 │ UInt32 :: Identifier │ scope_layer=1 │ [function] │ │ [where] │ │ [call] │ │ Mesh :: Identifier │ scope_layer=1 │ [::] │ │ vertex_attributes :: Identifier │ scope_layer=1 │ [curly] │ │ NamedTuple :: Identifier │ scope_layer=1 │ Names :: Identifier │ scope_layer=1 │ VAT :: Identifier │ scope_layer=1 │ [::] │ │ fs :: Identifier │ scope_layer=1 │ FVT :: Identifier │ scope_layer=1 │ [kw] │ │ [::] │ │ views :: Identifier │ scope_layer=1 │ [curly] │ │ Vector :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ [curly] │ │ UnitRange :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ Integer :: Identifier │ scope_layer=1 │ [ref] │ │ [curly] │ │ UnitRange :: Identifier │ scope_layer=1 │ UInt32 :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ FT :: Identifier │ scope_layer=1 │ AbstractFace :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ FVT :: Identifier │ scope_layer=1 │ [curly] │ │ AbstractVector :: Identifier │ scope_layer=1 │ FT :: Identifier │ scope_layer=1 │ Names :: Identifier │ scope_layer=1 │ Dim :: Identifier │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ VAT :: Identifier │ scope_layer=1 │ [curly] │ │ Tuple :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ [curly] │ │ AbstractVector :: Identifier │ scope_layer=1 │ [curly] │ │ Point :: Identifier │ scope_layer=1 │ Dim :: Identifier │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ [curly] │ │ Vararg :: Identifier │ scope_layer=1 │ VertexAttributeType :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ va :: Identifier │ scope_layer=1 │ vertex_attributes :: Identifier │ scope_layer=1 │ [=] │ │ names :: Identifier │ scope_layer=1 │ Names :: Identifier │ scope_layer=1 │ [if] │ │ [call] │ │ ! :: Identifier │ scope_layer=1 │ [call] │ │ haskey :: Identifier │ scope_layer=1 │ va :: Identifier │ scope_layer=1 │ [inert] │ │ position :: Identifier │ │ [block] │ │ [call] │ │ error :: Identifier │ scope_layer=1 │ "Vertex attributes must have a :position attribute." :: Value │ macro_source=256 │ [if] │ │ [call] │ │ haskey :: Identifier │ scope_layer=1 │ va :: Identifier │ scope_layer=1 │ [inert] │ │ normals :: Identifier │ │ [block] │ │ [block] │ │ [let] │ │ [block] │ macro_source=256 │ [block] │ │ [=] │ │ #7#level :: Identifier │ scope_layer=1 │ Warn :: Identifier │ mod,scope_layer=1 │ [=] │ │ #8#std_level :: Identifier │ scope_layer=1 │ #7#level :: Identifier │ scope_layer=1 │ [if] │ │ [call] │ │ >= :: Identifier │ mod,scope_layer=1 │ [.] │ │ #8#std_level :: Identifier │ scope_layer=1 │ [inert] │ │ level :: Identifier │ │ [ref] │ macro_source=256 │ Base.Threads.Atomic{Int32}(-1000) :: Value │ macro_source=256 │ [block] │ │ [=] │ │ #9#group :: Identifier │ scope_layer=1 │ [inert] │ │ basic_types :: Identifier │ │ [=] │ │ #10#_module :: Identifier │ scope_layer=1 │ GeometryBasics :: Value │ macro_source=256 │ [=] │ │ #11#logger :: Identifier │ scope_layer=1 │ [call] │ │ Base.CoreLogging.current_logger_for_env :: Value │ macro_source=256 │ #8#std_level :: Identifier │ scope_layer=1 │ #9#group :: Identifier │ scope_layer=1 │ #10#_module :: Identifier │ scope_layer=1 │ [if] │ │ [call] │ │ ! :: Identifier │ mod,scope_layer=1 │ [call] │ │ === :: Identifier │ mod,scope_layer=1 │ #11#logger :: Identifier │ scope_layer=1 │ nothing :: Identifier │ mod,scope_layer=1 │ [block] │ │ [=] │ │ #12#id :: Identifier │ scope_layer=1 │ [inert] │ │ GeometryBasics_1e57c75a :: Identifier │ │ [if] │ │ [call] │ │ invokelatest :: Identifier │ mod,scope_layer=1 │ Base.CoreLogging.shouldlog :: Value │ macro_source=256 │ #11#logger :: Identifier │ scope_layer=1 │ #7#level :: Identifier │ scope_layer=1 │ #10#_module :: Identifier │ scope_layer=1 │ #9#group :: Identifier │ scope_layer=1 │ #12#id :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ #13#file :: Identifier │ scope_layer=1 │ "/home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl" :: Value │ macro_source=256 │ [if] │ │ [call] │ │ isa :: Identifier │ mod,scope_layer=1 │ #13#file :: Identifier │ scope_layer=1 │ String :: Identifier │ mod,scope_layer=1 │ [block] │ │ [=] │ │ #13#file :: Identifier │ scope_layer=1 │ [call] │ │ [.] │ │ Base :: Identifier │ mod,scope_layer=1 │ [inert] │ │ fixup_stdlib_path :: Identifier │ │ #13#file :: Identifier │ scope_layer=1 │ [=] │ │ #14#line :: Identifier │ scope_layer=1 │ 533 :: Value │ macro_source=256 │ [local] │ │ #15#msg :: Identifier │ scope_layer=1 │ #16#kwargs :: Identifier │ scope_layer=1 │ [if] │ │ [block] │ │ [=] │ │ #15#msg :: Identifier │ scope_layer=1 │ "`normals` as a vertex attribute name has been deprecated in favor of `normal` to bring it in line with mesh.position and mesh.uv" :: Value │ macro_source=256 │ [=] │ │ #16#kwargs :: Identifier │ scope_layer=1 │ [tuple] │ macro_source=256 │ [parameters] │ macro_source=256 │ true :: Value │ macro_source=256 │ [block] │ │ [if] │ │ [isdefined] │ │ #15#msg :: Identifier │ scope_layer=1 │ nothing :: Value │ macro_source=256 │ [call] │ │ throw :: Identifier │ mod,scope_layer=1 │ [call] │ │ AssertionError :: Identifier │ mod,scope_layer=1 │ "Assertion to tell the compiler about the definedness of this variable" :: Value │ macro_source=256 │ [if] │ │ [isdefined] │ │ #16#kwargs :: Identifier │ scope_layer=1 │ nothing :: Value │ macro_source=256 │ [call] │ │ throw :: Identifier │ mod,scope_layer=1 │ [call] │ │ AssertionError :: Identifier │ mod,scope_layer=1 │ "Assertion to tell the compiler about the definedness of this variable" :: Value │ macro_source=256 │ [call] │ │ Base.CoreLogging.handle_message_nothrow :: Value │ macro_source=256 │ [parameters] │ │ [...] │ │ #16#kwargs :: Identifier │ scope_layer=1 │ #11#logger :: Identifier │ scope_layer=1 │ #7#level :: Identifier │ scope_layer=1 │ #15#msg :: Identifier │ scope_layer=1 │ #10#_module :: Identifier │ scope_layer=1 │ #9#group :: Identifier │ scope_layer=1 │ #12#id :: Identifier │ scope_layer=1 │ #13#file :: Identifier │ scope_layer=1 │ #14#line :: Identifier │ scope_layer=1 │ nothing :: Identifier │ mod,scope_layer=1 │ [=] │ │ names :: Identifier │ scope_layer=1 │ [call] │ │ ntuple :: Identifier │ scope_layer=1 │ [->] │ │ i :: Identifier │ scope_layer=1 │ [block] │ │ [call] │ │ ifelse :: Identifier │ scope_layer=1 │ [call] │ │ == :: Identifier │ scope_layer=1 │ [ref] │ │ names :: Identifier │ scope_layer=1 │ i :: Identifier │ scope_layer=1 │ [inert] │ │ normal :: Identifier │ │ [inert] │ │ normal :: Identifier │ │ [ref] │ │ names :: Identifier │ scope_layer=1 │ i :: Identifier │ scope_layer=1 │ [call] │ │ length :: Identifier │ scope_layer=1 │ names :: Identifier │ scope_layer=1 │ [=] │ │ va :: Identifier │ scope_layer=1 │ [call] │ │ [curly] │ │ NamedTuple :: Identifier │ scope_layer=1 │ names :: Identifier │ scope_layer=1 │ [call] │ │ values :: Identifier │ scope_layer=1 │ va :: Identifier │ scope_layer=1 │ [=] │ │ N :: Identifier │ scope_layer=1 │ [call] │ │ maximum :: Identifier │ scope_layer=1 │ [->] │ │ f :: Identifier │ scope_layer=1 │ [block] │ │ [call] │ │ value :: Identifier │ scope_layer=1 │ [call] │ │ maximum :: Identifier │ scope_layer=1 │ f :: Identifier │ scope_layer=1 │ fs :: Identifier │ scope_layer=1 │ [kw] │ │ init :: Identifier │ scope_layer=1 │ 0 :: Value │ macro_source=256 │ [for] │ │ [=] │ │ [tuple] │ │ name :: Identifier │ scope_layer=1 │ attrib :: Identifier │ scope_layer=1 │ [call] │ │ pairs :: Identifier │ scope_layer=1 │ va :: Identifier │ scope_layer=1 │ [block] │ │ [if] │ │ [call] │ │ isa :: Identifier │ scope_layer=1 │ attrib :: Identifier │ scope_layer=1 │ FaceView :: Identifier │ scope_layer=1 │ [block] │ │ [try] │ │ [block] │ │ [call] │ │ verify :: Identifier │ scope_layer=1 │ fs :: Identifier │ scope_layer=1 │ attrib :: Identifier │ scope_layer=1 │ e :: Identifier │ scope_layer=1 │ [block] │ │ [call] │ │ rethrow :: Identifier │ scope_layer=1 │ [call] │ │ ErrorException :: Identifier │ scope_layer=1 │ [string] │ │ "Failed to verify " :: Value │ macro_source=256 │ name :: Identifier │ scope_layer=1 │ " attribute:\n" :: Value │ macro_source=256 │ [.] │ │ e :: Identifier │ scope_layer=1 │ [inert] │ │ msg :: Identifier │ │ [block] │ │ [&&] │ │ [call] │ │ < :: Identifier │ scope_layer=1 │ [call] │ │ length :: Identifier │ scope_layer=1 │ attrib :: Identifier │ scope_layer=1 │ N :: Identifier │ scope_layer=1 │ [call] │ │ error :: Identifier │ scope_layer=1 │ [string] │ │ "Failed to verify " :: Value │ macro_source=256 │ name :: Identifier │ scope_layer=1 │ " attribute:\nFaces address " :: Value │ macro_source=256 │ N :: Identifier │ scope_layer=1 │ " vertex attributes but only " :: Value │ macro_source=256 │ [call] │ │ length :: Identifier │ scope_layer=1 │ attrib :: Identifier │ scope_layer=1 │ " are present." :: Value │ macro_source=256 │ [return] │ │ [call] │ │ [curly] │ │ new :: Identifier │ scope_layer=1 │ Dim :: Identifier │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ FT :: Identifier │ scope_layer=1 │ names :: Identifier │ scope_layer=1 │ VAT :: Identifier │ scope_layer=1 │ FVT :: Identifier │ scope_layer=1 │ va :: Identifier │ scope_layer=1 │ fs :: Identifier │ scope_layer=1 │ views :: Identifier │ scope_layer=1 │ [call] │ │ Base.Docs.doc! :: Value │ macro_source=256 │ GeometryBasics :: Value │ macro_source=256 │ [call] │ │ Base.Docs.Binding :: Value │ macro_source=256 │ GeometryBasics :: Value │ │ [inert] │ jl_source=L65 │ Mesh :: Identifier │ │ [call] │ │ Base.Docs.docstr :: Value │ macro_source=256 │ [call] │ macro_source=256 │ Core.svec :: Value │ macro_source=256 │ " Mesh{PositionDim, PositionType, FaceType, VertexAttributeNames, VertexAttributeTypes, FaceVectorType} <: AbstractMesh{PositionDim, PositionType} <: AbstractGeometry{PositionDim, PositionType}\n\nThe type of a concrete mesh. The associated struct contains 3 fields:\n\n```julia\nstruct Mesh{...}\n vertex_attributes::NamedTuple{VertexAttributeNames, VertexAttributeTypes}\n faces::FaceVectorType\n views::Vector{UnitRange{Int}}\nend\n```\n\nA vertex typically carries multiple distinct pieces of data, e.g. a position,\na normal, a texture coordinate, etc. We call those pieces of data vertex\nattributes. The `vertex_attributes` field contains the name and a collection\n`<: AbstractVector` or `<: FaceView` for each attribute. The n-th element of that\ncollection is the value of the corresponding attribute for the n-th vertex.\n\n```julia\n# vertex 1 2 3\nvertex_attributes[:position] = [pos1, pos2, pos3, ...]\nvertex_attributes[:normal] = [normal1, normal2, normal3, ...]\n...\n```\n\nA `NamedTuple` is used here to allow different meshes to carry different vertex\nattributes while also keeping things type stable. The constructor enforces a\nfew restrictions:\n- The first attribute must be named `position` and must have a `Point{PositionDim, PositionType}` eltype.\n- Each vertex attribute must refer to the same number of vertices. (All vertex attributes defined by\nAbstractVector must match in length. For FaceViews, the number of faces needs to match.)\n\nSee also: [`vertex_attributes`](@ref), [`coordinates`](@ref), [`normals`](@ref),\n[`texturecoordinates`](@ref), [`decompose`](@ref), [`FaceView`](@ref),\n[`expand_faceviews`](@ref)\n\nThe `faces` field is a collection `<: AbstractVector{FaceType}` containing faces\nthat describe how vertices are connected. Typically these are `(GL)TriangleFace`s\nor `QuadFace`s, but they can be any collection of vertex indices `<: AbstractFace`.\n\nSee also: [`faces`](@ref), [`decompose`](@ref)\n\nThe `views` field can be used to separate the mesh into mutliple submeshes. Each\nsubmesh is described by a \"view\" into the `faces` vector, i.e. submesh n uses\n`mesh.faces[mesh.views[n]]`. A `Mesh` can be constructed without `views`, which\nresults in an empty `views` vector.\n\nSee also: [`merge`](@ref), [`split_mesh`](@ref)\n" :: Value │ macro_source=256 │ [call] │ │ Dict{Symbol, Any} :: Value │ macro_source=256 │ :path => "/home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl" :: Value │ macro_source=256 │ :linenumber => 453 :: Value │ macro_source=256 │ :module => GeometryBasics :: Value │ macro_source=256 │ [call] │ │ Pair :: Value │ macro_source=256 │ [inert] │ │ fields :: Identifier │ │ [call] │ macro_source=256 │ Dict{Symbol, Any} :: Value │ macro_source=256 │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ val :: Identifier │ scope_layer=3 │ │ file = "/home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl" │ line = 453 └ mod = GeometryBasics ERROR: LoadError: internal lowering bug: #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:515 =# - `jl_assert(!(haskey(ssa_rewrites, lhs_id)), _)`: multiple assignments to ssavalue Expression:  (= #₂₆ (call core.TypeVar :#T1 #₂₈₉)) Containing expressions:  (= #₂₆ (call core.TypeVar :#T1 #₂₈₉))  Detailed provenance:  (= #₂₆ (call core.TypeVar :#T1 #₂₈₉)) @#= /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:366 =#  └─ (= #₂₆ (call core.TypeVar :#T1 (call core.apply_type #₅₆/AbstractVector (call core.apply_type #₅₇/Point #₆₉/Dim #₇₀/T)))) @#= /source/usr/share/julia/JuliaLowering/src/closure_conversion.jl:197 =#  └─ (= #₂₆ (call core.TypeVar :#T1 (call core.apply_type #₅₆/AbstractVector (call core.apply_type #₅₇/Point #₆₉/Dim #₇₀/T)))) @#= /source/usr/share/julia/JuliaLowering/src/desugaring.jl:231 =#  └─ (= #₂₆ (call core.TypeVar :#T1 (call core.apply_type AbstractVector (call core.apply_type Point Dim T)))) @#= /source/usr/share/julia/JuliaLowering/src/desugaring.jl:231 =#  └─ (= #₂₆ (call core.TypeVar :#T1 (curly AbstractVector (curly Point Dim T))))  └─ (call core.TypeVar :#T1 (curly AbstractVector (curly Point Dim T))) @#= /source/usr/share/julia/JuliaLowering/src/desugaring.jl:3025 =#  └─ (<: (curly AbstractVector (curly Point Dim T)))  └─ (<: (curly AbstractVector (curly Point Dim T)))  └─ (<: (curly AbstractVector (curly Point Dim T)))  └─ (<: (curly AbstractVector (curly Point Dim T)))  ├─ @ /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:515  └─ (macrocall @doc :(#= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:453 =#) " Mesh{PositionDim, PositionType, FaceType, VertexAttributeNames, VertexAttributeTypes, FaceVectorType} <: AbstractMesh{PositionDim, PositionType} <: AbstractGeometry{PositionDim, PositionType}\n\nThe type of a concrete mesh. The associated struct contains 3 fields:\n\n```julia\nstruct Mesh{...}\n vertex_attributes::NamedTuple{VertexAttributeNames, VertexAttributeTypes}\n faces::FaceVectorType\n views::Vector{UnitRange{Int}}\nend\n```\n\nA vertex typically carries multiple distinct pieces of data, e.g. a position,\na normal, a texture coordinate, etc. We call those pieces of data vertex\nattributes. The `vertex_attributes` field contains the name and a collection\n`<: AbstractVector` or `<: FaceView` for each attribute. The n-th element of that\ncollection is the value of the corresponding attribute for the n-th vertex.\n\n```julia\n# vertex 1 2 3\nvertex_attributes[:position] = [pos1, pos2, pos3, ...]\nvertex_attributes[:normal] = [normal1, normal2, normal3, ...]\n...\n```\n\nA `NamedTuple` is used here to allow different meshes to carry different vertex\nattributes while also keeping things type stable. The constructor enforces a\nfew restrictions:\n- The first attribute must be named `position` and must have a `Point{PositionDim, PositionType}` eltype.\n- Each vertex attribute must refer to the same number of vertices. (All vertex attributes defined by\nAbstractVector must match in length. For FaceViews, the number of faces needs to match.)\n\nSee also: [`vertex_attributes`](@ref), [`coordinates`](@ref), [`normals`](@ref),\n[`texturecoordinates`](@ref), [`decompose`](@ref), [`FaceView`](@ref),\n[`expand_faceviews`](@ref)\n\nThe `faces` field is a collection `<: AbstractVector{FaceType}` containing faces\nthat describe how vertices are connected. Typically these are `(GL)TriangleFace`s\nor `QuadFace`s, but they can be any collection of vertex indices `<: AbstractFace`.\n\nSee also: [`faces`](@ref), [`decompose`](@ref)\n\nThe `views` field can be used to separate the mesh into mutliple submeshes. Each\nsubmesh is described by a \"view\" into the `faces` vector, i.e. submesh n uses\n`mesh.faces[mesh.views[n]]`. A `Mesh` can be constructed without `views`, which\nresults in an empty `views` vector.\n\nSee also: [`merge`](@ref), [`split_mesh`](@ref)\n" (struct false (<: (curly Mesh Dim (<: T Real) (<: FT AbstractFace) Names (<: VAT (curly Tuple (<: (curly AbstractVector (curly Point Dim T))) (curly Vararg VertexAttributeType))) (<: FVT (curly AbstractVector FT))) (curly AbstractMesh Dim T)) (block (:: vertex_attributes (curly NamedTuple Names VAT)) (:: faces FVT) (:: views (curly Vector (curly UnitRange UInt32))) (function (where (call Mesh (:: vertex_attributes (curly NamedTuple Names VAT)) (:: fs FVT) (kw (:: views (curly Vector (<: (curly UnitRange (<: Integer))))) (ref (curly UnitRange UInt32)))) (<: FT AbstractFace) (<: FVT (curly AbstractVector FT)) Names Dim T (<: VAT (curly Tuple (<: (curly AbstractVector (curly Point Dim T))) (curly Vararg VertexAttributeType)))) (block (= va vertex_attributes) (= names Names) (if (call ! (call haskey va (inert position))) (block (call error "Vertex attributes must have a :position attribute."))) (if (call haskey va (inert normals)) (block (macrocall @warn :(#= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:533 =#) "`normals` as a vertex attribute name has been deprecated in favor of `normal` to bring it in line with mesh.position and mesh.uv") (= names (call ntuple (-> i (block (call ifelse (call == (ref names i) (inert normal)) (inert normal) (ref names i)))) (call length names))) (= va (call (curly NamedTuple names) (call values va))))) (= N (call maximum (-> f (block (call value (call maximum f)))) fs (kw init 0))) (for (= (tuple name attrib) (call pairs va)) (block (if (call isa attrib FaceView) (block (try (block (call verify fs attrib)) e (block (call rethrow (call ErrorException (string "Failed to verify " name " attribute:\n" (. e (inert msg)))))))) (block (&& (call < (call length attrib) N) (call error (string "Failed to verify " name " attribute:\nFaces address " N " vertex attributes but only " (call length attrib) " are present."))))))) (return (call (curly new Dim T FT names VAT FVT) va fs views)))))))  └─ @ /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:453  Stacktrace:  [1] iterate(A::Base.JuliaSyntax.SyntaxList{Dict{Symbol, Dict{Int64, Any}}, Vector{Int64}})  @ Base /source/usr/share/julia/JuliaLowering/src/ast.jl:23 [inlined]  [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:1106  [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:1223  [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:1253  [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:327  [7] top-level scope  @ ~/.julia/packages/GeometryBasics/yB1f1/src/GeometryBasics.jl:12  [8] include(mod::Module, _path::String)  @ Base ./Base.jl:326  [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:3271  [10] top-level scope  @ stdin:5  [11] eval(m::Module, e::Any)  @ Core ./boot.jl:517  [12] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)  @ Base ./loading.jl:3113  [13] push!(a::Vector{SubString{String}}, item::String)  @ Base ./loading.jl:3123 [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/GeometryBasics/yB1f1/src/basic_types.jl:453 in expression starting at /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/GeometryBasics.jl:1 in expression starting at stdin:5 ✗ GeometryBasics 2.9 s ✓ Fontconfig_jll 3.0 s ✓ Glib_jll ERROR: LoadError: Precompiled image Base.PkgId(Base.UUID("f0e56b4a-5159-44fe-b623-3e5288b988bb"), "ConcurrentUtilities") not available with flags CacheFlags(; use_pkgimages=false, debug_level=1, check_bounds=1, inline=true, opt_level=0) Stacktrace:  [1] error(s::String)  @ Base ./error.jl:56  [2] __require_prelocked(pkg::Base.PkgId, env::String)  @ Base ./loading.jl:2818  [3] _require_prelocked(uuidkey::Base.PkgId, env::String)  @ Base ./loading.jl:2672  [4] macro expansion  @ ./loading.jl:2599 [inlined]  [5] string(::String, ::Union{Char, SubString{String}, String, Symbol}, ::Symbol, ::String)  @ Base ./lock.jl:376 [inlined]  [6] __require(into::Module, mod::Symbol)  @ Base ./loading.jl:2563  [7] require  @ ./loading.jl:2539 [inlined]  [8] eval_import_path(at::Module, from::Nothing, path::Expr, keyword::String)  @ Base ./module.jl:36 [inlined]  [9] eval_import_path_all(at::Module, path::Expr, keyword::String)  @ Base ./module.jl:60  [10] _eval_using(to::Module, path::Expr, flags::UInt8)  @ Base ./module.jl:137 [inlined]  [11] eval_using(to::Module, path::Expr)  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/runtime.jl:207  [12] top-level scope  @ ~/.julia/packages/HTTP/Y97L1/src/Connections.jl:1  [13] macro expansion  @ ~/.julia/packages/HTTP/Y97L1/src/Connections.jl:26 [inlined]  [14] eval(m::Module, e::Any)  @ Core ./boot.jl:517  [15] _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:494  [16] _eval  @ /source/usr/share/julia/JuliaLowering/src/eval.jl:475 [inlined]  [17] #eval#134  @ /source/usr/share/julia/JuliaLowering/src/eval.jl:467 [inlined]  [18] top-level scope  @ ~/.julia/packages/HTTP/Y97L1/src/Connections.jl:1  [19] macro expansion  @ ~/.julia/packages/HTTP/Y97L1/src/Connections.jl:1 [inlined]  [20] include(mapexpr::Function, mod::Module, _path::String)  @ Base ./Base.jl:327  [21] top-level scope  @ ~/.julia/packages/HTTP/Y97L1/src/HTTP.jl:40  [22] include(mod::Module, _path::String)  @ Base ./Base.jl:326  [23] 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  [24] top-level scope  @ stdin:5  [25] eval(m::Module, e::Any)  @ Core ./boot.jl:517  [26] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)  @ Base ./loading.jl:3113  [27] push!(a::Vector{SubString{String}}, item::String)  @ Base ./loading.jl:3123 [inlined]  [28] exec_options(opts::Base.JLOptions)  @ Base ./client.jl:353  [29] _start()  @ Base ./client.jl:596 in expression starting at /home/pkgeval/.julia/packages/HTTP/Y97L1/src/Connections.jl:1 in expression starting at /home/pkgeval/.julia/packages/HTTP/Y97L1/src/HTTP.jl:1 in expression starting at stdin:5 ✗ HTTP 3.2 s ✓ Xorg_libX11_jll 3.0 s ✓ Xorg_libXfixes_jll 2.9 s ✓ Xorg_libXrender_jll 3.0 s ✓ Xorg_libXext_jll 3.0 s ✓ Cairo_jll 3.1 s ✓ libva_jll 3.1 s ✓ HarfBuzz_jll 3.2 s ✓ libass_jll 3.3 s ✓ FFMPEG_jll 2.0 s ✓ FFMPEG ERROR: LoadError: Precompiled image Base.PkgId(Base.UUID("5c1252a2-5f33-56bf-86c9-59e7332b4326"), "GeometryBasics") not available with flags CacheFlags(; use_pkgimages=false, debug_level=1, check_bounds=1, inline=true, opt_level=0) Stacktrace:  [1] error(s::String)  @ Base ./error.jl:56  [2] __require_prelocked(pkg::Base.PkgId, env::String)  @ Base ./loading.jl:2818  [3] _require_prelocked(uuidkey::Base.PkgId, env::String)  @ Base ./loading.jl:2672  [4] macro expansion  @ ./loading.jl:2599 [inlined]  [5] string(::String, ::Union{Char, SubString{String}, String, Symbol}, ::Symbol, ::String)  @ Base ./lock.jl:376 [inlined]  [6] __require(into::Module, mod::Symbol)  @ Base ./loading.jl:2563  [7] require  @ ./loading.jl:2539 [inlined]  [8] eval_import_path(at::Module, from::Nothing, path::Expr, keyword::String)  @ Base ./module.jl:36 [inlined]  [9] eval_import_path_all(at::Module, path::Expr, keyword::String)  @ Base ./module.jl:60  [10] _eval_import(::Bool, ::Module, ::Expr, ::Expr, ::Vararg{Expr})  @ Base ./module.jl:101  [11] eval_import(::Bool, ::Module, ::Expr, ::Expr, ::Vararg{Expr})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/runtime.jl:195  [12] top-level scope  @ ~/.julia/packages/MeshCat/4DqVC/src/MeshCat.jl:3  [13] include(mod::Module, _path::String)  @ Base ./Base.jl:326  [14] 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  [15] top-level scope  @ stdin:5  [16] eval(m::Module, e::Any)  @ Core ./boot.jl:517  [17] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)  @ Base ./loading.jl:3113  [18] push!(a::Vector{SubString{String}}, item::String)  @ Base ./loading.jl:3123 [inlined]  [19] exec_options(opts::Base.JLOptions)  @ Base ./client.jl:353  [20] _start()  @ Base ./client.jl:596 in expression starting at /home/pkgeval/.julia/packages/MeshCat/4DqVC/src/MeshCat.jl:1 in expression starting at stdin:5 ✗ MeshCat 73 dependencies successfully precompiled in 2089 seconds. 30 already precompiled. Precompilation completed after 2093.81s ################################################################################ # Loading # Loading MeshCat... ┌ Info: JuliaLowering threw given input: │ code = │ :(mutable struct Worker │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:35 =# │ lock::ReentrantLock │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:36 =# │ pid::Int │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:37 =# │ process::Base.Process │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:38 =# │ server::Sockets.PipeServer │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:39 =# │ pipe::Base.PipeEndpoint │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:40 =# │ messages::Task │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:41 =# │ output::Task │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:42 =# │ process_watch::Task │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:43 =# │ worksubmission::Task │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:44 =# │ workqueue::Channel{Tuple{Request, FutureResult}} │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:45 =# │ futures::Dict{UInt64, FutureResult} │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:46 =# │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:46 =# @static if VERSION < v"1.7" │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:47 =# │ terminated::Threads.Atomic{Bool} │ else │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:49 =# │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:49 =# @atomic terminated::Bool │ end │ 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__ │ [struct] │ │ true :: Value │ │ Worker :: Identifier │ │ [block] │ │ [::] │ │ lock :: Identifier │ │ ReentrantLock :: Identifier │ │ [::] │ │ pid :: Identifier │ │ Int :: Identifier │ │ [::] │ │ process :: Identifier │ │ [.] │ │ Base :: Identifier │ │ [inert] │ │ Process :: Identifier │ │ [::] │ │ server :: Identifier │ │ [.] │ │ Sockets :: Identifier │ │ [inert] │ │ PipeServer :: Identifier │ │ [::] │ │ pipe :: Identifier │ │ [.] │ │ Base :: Identifier │ │ [inert] │ │ PipeEndpoint :: Identifier │ │ [::] │ │ messages :: Identifier │ │ Task :: Identifier │ │ [::] │ │ output :: Identifier │ │ Task :: Identifier │ │ [::] │ │ process_watch :: Identifier │ │ Task :: Identifier │ │ [::] │ │ worksubmission :: Identifier │ │ Task :: Identifier │ │ [::] │ │ workqueue :: Identifier │ │ [curly] │ │ Channel :: Identifier │ │ [curly] │ │ Tuple :: Identifier │ │ Request :: Identifier │ │ FutureResult :: Identifier │ │ [::] │ │ futures :: Identifier │ │ [curly] │ │ Dict :: Identifier │ │ UInt64 :: Identifier │ │ FutureResult :: Identifier │ │ [macrocall] │ │ @static :: Identifier │ │ :(#= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:46 =#) :: Value │ │ [if] │ │ [call] │ │ < :: Identifier │ │ VERSION :: Identifier │ │ [macrocall] │ │ @v_str :: Identifier │ │ :(#= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:46 =#) :: Value │ │ "1.7" :: Value │ │ [block] │ │ [::] │ │ terminated :: Identifier │ │ [curly] │ │ [.] │ │ Threads :: Identifier │ │ [inert] │ │ Atomic :: Identifier │ │ Bool :: Identifier │ │ [block] │ │ [macrocall] │ │ @atomic :: Identifier │ │ :(#= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:49 =#) :: Value │ │ [::] │ │ terminated :: Identifier │ │ Bool :: 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 │ [struct] │ │ true :: Value │ │ Worker :: Identifier │ scope_layer=1 │ [block] │ │ [::] │ │ lock :: Identifier │ scope_layer=1 │ ReentrantLock :: Identifier │ scope_layer=1 │ [::] │ │ pid :: Identifier │ scope_layer=1 │ Int :: Identifier │ scope_layer=1 │ [::] │ │ process :: Identifier │ scope_layer=1 │ [.] │ │ Base :: Identifier │ scope_layer=1 │ [inert] │ │ Process :: Identifier │ │ [::] │ │ server :: Identifier │ scope_layer=1 │ [.] │ │ Sockets :: Identifier │ scope_layer=1 │ [inert] │ │ PipeServer :: Identifier │ │ [::] │ │ pipe :: Identifier │ scope_layer=1 │ [.] │ │ Base :: Identifier │ scope_layer=1 │ [inert] │ │ PipeEndpoint :: Identifier │ │ [::] │ │ messages :: Identifier │ scope_layer=1 │ Task :: Identifier │ scope_layer=1 │ [::] │ │ output :: Identifier │ scope_layer=1 │ Task :: Identifier │ scope_layer=1 │ [::] │ │ process_watch :: Identifier │ scope_layer=1 │ Task :: Identifier │ scope_layer=1 │ [::] │ │ worksubmission :: Identifier │ scope_layer=1 │ Task :: Identifier │ scope_layer=1 │ [::] │ │ workqueue :: Identifier │ scope_layer=1 │ [curly] │ │ Channel :: Identifier │ scope_layer=1 │ [curly] │ │ Tuple :: Identifier │ scope_layer=1 │ Request :: Identifier │ scope_layer=1 │ FutureResult :: Identifier │ scope_layer=1 │ [::] │ │ futures :: Identifier │ scope_layer=1 │ [curly] │ │ Dict :: Identifier │ scope_layer=1 │ UInt64 :: Identifier │ scope_layer=1 │ FutureResult :: Identifier │ scope_layer=1 │ [block] │ │ [atomic] │ │ [::] │ │ terminated :: Identifier │ scope_layer=1 │ Bool :: Identifier │ scope_layer=1 │ │ file = "/home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl" │ line = 34 └ mod = ConcurrentUtilities.Workers ERROR: LoadError: LoweringError: #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:49 =# - unimplemented or unsupported `atomic` declaration Expression:  (atomic (:: terminated Bool)) Containing expressions:  (struct true Worker (block (:: lock ReentrantLock) (:: pid Int) (:: process (. Base (inert Process))) (:: server (. Sockets (inert PipeServer))) (:: pipe (. Base (inert PipeEndpoint))) (:: messages Task) (:: output Task) (:: process_watch Task) (:: worksubmission Task) (:: workqueue (curly Channel (curly Tuple Request FutureResult))) (:: futures (curly Dict UInt64 FutureResult)) (block (atomic (:: terminated Bool)))))  Detailed provenance:  (atomic (:: terminated Bool))  └─ (atomic (:: terminated Bool))  ├─ @ /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:49  └─ (macrocall @atomic :(#= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:49 =#) (:: terminated Bool))  ├─ @ /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:49  └─ (macrocall @static :(#= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:46 =#) (if (call < VERSION (macrocall @v_str :(#= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:46 =#) "1.7")) (block (:: terminated (curly (. Threads (inert Atomic)) Bool))) (block (macrocall @atomic :(#= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:49 =#) (:: terminated Bool)))))  └─ @ /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:46  Stacktrace:  [1] 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:4467  [2] 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:30  [3] include(mapexpr::Function, mod::Module, _path::String)  @ Base ./Base.jl:327  [4] top-level scope  @ ~/.julia/packages/ConcurrentUtilities/hQBsU/src/ConcurrentUtilities.jl:17  [5] include(mod::Module, _path::String)  @ Base ./Base.jl:326  [6] 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  [7] top-level scope  @ stdin:5  [8] eval(m::Module, e::Any)  @ Core ./boot.jl:517  [9] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)  @ Base ./loading.jl:3113  [10] push!(a::Vector{SubString{String}}, item::String)  @ Base ./loading.jl:3123 [inlined]  [11] exec_options(opts::Base.JLOptions)  @ Base ./client.jl:353  [12] _start()  @ Base ./client.jl:596 in expression starting at /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:1 in expression starting at /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/ConcurrentUtilities.jl:1 in expression starting at stdin:5 ┌ Info: JuliaLowering threw given input: │ code = │ :(#= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:453 =# Core.@doc " Mesh{PositionDim, PositionType, FaceType, VertexAttributeNames, VertexAttributeTypes, FaceVectorType} <: AbstractMesh{PositionDim, PositionType} <: AbstractGeometry{PositionDim, PositionType}\n\nThe type of a concrete mesh. The associated struct contains 3 fields:\n\n```julia\nstruct Mesh{...}\n vertex_attributes::NamedTuple{VertexAttributeNames, VertexAttributeTypes}\n faces::FaceVectorType\n views::Vector{UnitRange{Int}}\nend\n```\n\nA vertex typically carries multiple distinct pieces of data, e.g. a position,\na normal, a texture coordinate, etc. We call those pieces of data vertex\nattributes. The `vertex_attributes` field contains the name and a collection\n`<: AbstractVector` or `<: FaceView` for each attribute. The n-th element of that\ncollection is the value of the corresponding attribute for the n-th vertex.\n\n```julia\n# vertex 1 2 3\nvertex_attributes[:position] = [pos1, pos2, pos3, ...]\nvertex_attributes[:normal] = [normal1, normal2, normal3, ...]\n...\n```\n\nA `NamedTuple` is used here to allow different meshes to carry different vertex\nattributes while also keeping things type stable. The constructor enforces a\nfew restrictions:\n- The first attribute must be named `position` and must have a `Point{PositionDim, PositionType}` eltype.\n- Each vertex attribute must refer to the same number of vertices. (All vertex attributes defined by\nAbstractVector must match in length. For FaceViews, the number of faces needs to match.)\n\nSee also: [`vertex_attributes`](@ref), [`coordinates`](@ref), [`normals`](@ref),\n[`texturecoordinates`](@ref), [`decompose`](@ref), [`FaceView`](@ref),\n[`expand_faceviews`](@ref)\n\nThe `faces` field is a collection `<: AbstractVector{FaceType}` containing faces\nthat describe how vertices are connected. Typically these are `(GL)TriangleFace`s\nor `QuadFace`s, but they can be any collection of vertex indices `<: AbstractFace`.\n\nSee also: [`faces`](@ref), [`decompose`](@ref)\n\nThe `views` field can be used to separate the mesh into mutliple submeshes. Each\nsubmesh is described by a \"view\" into the `faces` vector, i.e. submesh n uses\n`mesh.faces[mesh.views[n]]`. A `Mesh` can be constructed without `views`, which\nresults in an empty `views` vector.\n\nSee also: [`merge`](@ref), [`split_mesh`](@ref)\n" struct Mesh{Dim, T <: Real, FT <: AbstractFace, Names, VAT <: Tuple{<:AbstractVector{Point{Dim, T}}, Vararg{VertexAttributeType}}, FVT <: AbstractVector{FT}} <: AbstractMesh{Dim, T} │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:511 =# │ vertex_attributes::NamedTuple{Names, VAT} │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:512 =# │ faces::FVT │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:513 =# │ views::Vector{UnitRange{UInt32}} │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:515 =# │ function Mesh(vertex_attributes::NamedTuple{Names, VAT}, fs::FVT, views::Vector{<:UnitRange{<:Integer}} = UnitRange{UInt32}[]) where {FT <: AbstractFace, FVT <: AbstractVector{FT}, Names, Dim, T, VAT <: Tuple{<:AbstractVector{Point{Dim, T}}, Vararg{VertexAttributeType}}} │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:515 =# │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:524 =# │ va = vertex_attributes │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:525 =# │ names = Names │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:528 =# │ if !(haskey(va, :position)) │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:529 =# │ error("Vertex attributes must have a :position attribute.") │ end │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:532 =# │ if haskey(va, :normals) │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:533 =# │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:533 =# @warn "`normals` as a vertex attribute name has been deprecated in favor of `normal` to bring it in line with mesh.position and mesh.uv" │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:534 =# │ names = ntuple((i->begin │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:534 =# │ ifelse(names[i] == :normal, :normal, names[i]) │ end), length(names)) │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:535 =# │ va = NamedTuple{names}(values(va)) │ end │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:541 =# │ N = maximum((f->begin │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:541 =# │ value(maximum(f)) │ end), fs, init = 0) │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:542 =# │ for (name, attrib) = pairs(va) │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:543 =# │ if attrib isa FaceView │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:544 =# │ try │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:545 =# │ verify(fs, attrib) │ catch e │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:547 =# │ rethrow(ErrorException("Failed to verify $(name) attribute:\n$(e.msg)")) │ end │ else │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:550 =# │ length(attrib) < N && error("Failed to verify $(name) attribute:\nFaces address $(N) vertex attributes but only $(length(attrib)) are present.") │ end │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:552 =# │ end │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:554 =# │ return new{Dim, T, FT, names, VAT, FVT}(va, fs, views) │ end │ 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/GeometryBasics/yB1f1/src/basic_types.jl:453 =#) :: Value │ │ " Mesh{PositionDim, PositionType, FaceType, VertexAttributeNames, VertexAttributeTypes, FaceVectorType} <: AbstractMesh{PositionDim, PositionType} <: AbstractGeometry{PositionDim, PositionType}\n\nThe type of a concrete mesh. The associated struct contains 3 fields:\n\n```julia\nstruct Mesh{...}\n vertex_attributes::NamedTuple{VertexAttributeNames, VertexAttributeTypes}\n faces::FaceVectorType\n views::Vector{UnitRange{Int}}\nend\n```\n\nA vertex typically carries multiple distinct pieces of data, e.g. a position,\na normal, a texture coordinate, etc. We call those pieces of data vertex\nattributes. The `vertex_attributes` field contains the name and a collection\n`<: AbstractVector` or `<: FaceView` for each attribute. The n-th element of that\ncollection is the value of the corresponding attribute for the n-th vertex.\n\n```julia\n# vertex 1 2 3\nvertex_attributes[:position] = [pos1, pos2, pos3, ...]\nvertex_attributes[:normal] = [normal1, normal2, normal3, ...]\n...\n```\n\nA `NamedTuple` is used here to allow different meshes to carry different vertex\nattributes while also keeping things type stable. The constructor enforces a\nfew restrictions:\n- The first attribute must be named `position` and must have a `Point{PositionDim, PositionType}` eltype.\n- Each vertex attribute must refer to the same number of vertices. (All vertex attributes defined by\nAbstractVector must match in length. For FaceViews, the number of faces needs to match.)\n\nSee also: [`vertex_attributes`](@ref), [`coordinates`](@ref), [`normals`](@ref),\n[`texturecoordinates`](@ref), [`decompose`](@ref), [`FaceView`](@ref),\n[`expand_faceviews`](@ref)\n\nThe `faces` field is a collection `<: AbstractVector{FaceType}` containing faces\nthat describe how vertices are connected. Typically these are `(GL)TriangleFace`s\nor `QuadFace`s, but they can be any collection of vertex indices `<: AbstractFace`.\n\nSee also: [`faces`](@ref), [`decompose`](@ref)\n\nThe `views` field can be used to separate the mesh into mutliple submeshes. Each\nsubmesh is described by a \"view\" into the `faces` vector, i.e. submesh n uses\n`mesh.faces[mesh.views[n]]`. A `Mesh` can be constructed without `views`, which\nresults in an empty `views` vector.\n\nSee also: [`merge`](@ref), [`split_mesh`](@ref)\n" :: Value │ │ [struct] │ │ false :: Value │ │ [<:] │ │ [curly] │ │ Mesh :: Identifier │ │ Dim :: Identifier │ │ [<:] │ │ T :: Identifier │ │ Real :: Identifier │ │ [<:] │ │ FT :: Identifier │ │ AbstractFace :: Identifier │ │ Names :: Identifier │ │ [<:] │ │ VAT :: Identifier │ │ [curly] │ │ Tuple :: Identifier │ │ [<:] │ │ [curly] │ │ AbstractVector :: Identifier │ │ [curly] │ │ Point :: Identifier │ │ Dim :: Identifier │ │ T :: Identifier │ │ [curly] │ │ Vararg :: Identifier │ │ VertexAttributeType :: Identifier │ │ [<:] │ │ FVT :: Identifier │ │ [curly] │ │ AbstractVector :: Identifier │ │ FT :: Identifier │ │ [curly] │ │ AbstractMesh :: Identifier │ │ Dim :: Identifier │ │ T :: Identifier │ │ [block] │ │ [::] │ │ vertex_attributes :: Identifier │ │ [curly] │ │ NamedTuple :: Identifier │ │ Names :: Identifier │ │ VAT :: Identifier │ │ [::] │ │ faces :: Identifier │ │ FVT :: Identifier │ │ [::] │ │ views :: Identifier │ │ [curly] │ │ Vector :: Identifier │ │ [curly] │ │ UnitRange :: Identifier │ │ UInt32 :: Identifier │ │ [function] │ │ [where] │ │ [call] │ │ Mesh :: Identifier │ │ [::] │ │ vertex_attributes :: Identifier │ │ [curly] │ │ NamedTuple :: Identifier │ │ Names :: Identifier │ │ VAT :: Identifier │ │ [::] │ │ fs :: Identifier │ │ FVT :: Identifier │ │ [kw] │ │ [::] │ │ views :: Identifier │ │ [curly] │ │ Vector :: Identifier │ │ [<:] │ │ [curly] │ │ UnitRange :: Identifier │ │ [<:] │ │ Integer :: Identifier │ │ [ref] │ │ [curly] │ │ UnitRange :: Identifier │ │ UInt32 :: Identifier │ │ [<:] │ │ FT :: Identifier │ │ AbstractFace :: Identifier │ │ [<:] │ │ FVT :: Identifier │ │ [curly] │ │ AbstractVector :: Identifier │ │ FT :: Identifier │ │ Names :: Identifier │ │ Dim :: Identifier │ │ T :: Identifier │ │ [<:] │ │ VAT :: Identifier │ │ [curly] │ │ Tuple :: Identifier │ │ [<:] │ │ [curly] │ │ AbstractVector :: Identifier │ │ [curly] │ │ Point :: Identifier │ │ Dim :: Identifier │ │ T :: Identifier │ │ [curly] │ │ Vararg :: Identifier │ │ VertexAttributeType :: Identifier │ │ [block] │ │ [=] │ │ va :: Identifier │ │ vertex_attributes :: Identifier │ │ [=] │ │ names :: Identifier │ │ Names :: Identifier │ │ [if] │ │ [call] │ │ ! :: Identifier │ │ [call] │ │ haskey :: Identifier │ │ va :: Identifier │ │ [inert] │ │ position :: Identifier │ │ [block] │ │ [call] │ │ error :: Identifier │ │ "Vertex attributes must have a :position attribute." :: Value │ │ [if] │ │ [call] │ │ haskey :: Identifier │ │ va :: Identifier │ │ [inert] │ │ normals :: Identifier │ │ [block] │ │ [macrocall] │ │ @warn :: Identifier │ │ :(#= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:533 =#) :: Value │ │ "`normals` as a vertex attribute name has been deprecated in favor of `normal` to bring it in line with mesh.position and mesh.uv" :: Value │ │ [=] │ │ names :: Identifier │ │ [call] │ │ ntuple :: Identifier │ │ [->] │ │ i :: Identifier │ │ [block] │ │ [call] │ │ ifelse :: Identifier │ │ [call] │ │ == :: Identifier │ │ [ref] │ │ names :: Identifier │ │ i :: Identifier │ │ [inert] │ │ normal :: Identifier │ │ [inert] │ │ normal :: Identifier │ │ [ref] │ │ names :: Identifier │ │ i :: Identifier │ │ [call] │ │ length :: Identifier │ │ names :: Identifier │ │ [=] │ │ va :: Identifier │ │ [call] │ │ [curly] │ │ NamedTuple :: Identifier │ │ names :: Identifier │ │ [call] │ │ values :: Identifier │ │ va :: Identifier │ │ [=] │ │ N :: Identifier │ │ [call] │ │ maximum :: Identifier │ │ [->] │ │ f :: Identifier │ │ [block] │ │ [call] │ │ value :: Identifier │ │ [call] │ │ maximum :: Identifier │ │ f :: Identifier │ │ fs :: Identifier │ │ [kw] │ │ init :: Identifier │ │ 0 :: Value │ │ [for] │ │ [=] │ │ [tuple] │ │ name :: Identifier │ │ attrib :: Identifier │ │ [call] │ │ pairs :: Identifier │ │ va :: Identifier │ │ [block] │ │ [if] │ │ [call] │ │ isa :: Identifier │ │ attrib :: Identifier │ │ FaceView :: Identifier │ │ [block] │ │ [try] │ │ [block] │ │ [call] │ │ verify :: Identifier │ │ fs :: Identifier │ │ attrib :: Identifier │ │ e :: Identifier │ │ [block] │ │ [call] │ │ rethrow :: Identifier │ │ [call] │ │ ErrorException :: Identifier │ │ [string] │ │ "Failed to verify " :: Value │ │ name :: Identifier │ │ " attribute:\n" :: Value │ │ [.] │ │ e :: Identifier │ │ [inert] │ │ msg :: Identifier │ │ [block] │ │ [&&] │ │ [call] │ │ < :: Identifier │ │ [call] │ │ length :: Identifier │ │ attrib :: Identifier │ │ N :: Identifier │ │ [call] │ │ error :: Identifier │ │ [string] │ │ "Failed to verify " :: Value │ │ name :: Identifier │ │ " attribute:\nFaces address " :: Value │ │ N :: Identifier │ │ " vertex attributes but only " :: Value │ │ [call] │ │ length :: Identifier │ │ attrib :: Identifier │ │ " are present." :: Value │ │ [return] │ │ [call] │ │ [curly] │ │ new :: Identifier │ │ Dim :: Identifier │ │ T :: Identifier │ │ FT :: Identifier │ │ names :: Identifier │ │ VAT :: Identifier │ │ FVT :: Identifier │ │ va :: Identifier │ │ fs :: Identifier │ │ views :: 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 │ [struct] │ │ false :: Value │ macro_source=256 │ [<:] │ scope_layer=1 │ [curly] │ │ Mesh :: Identifier │ scope_layer=1 │ Dim :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ Real :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ FT :: Identifier │ scope_layer=1 │ AbstractFace :: Identifier │ scope_layer=1 │ Names :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ VAT :: Identifier │ scope_layer=1 │ [curly] │ │ Tuple :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ [curly] │ │ AbstractVector :: Identifier │ scope_layer=1 │ [curly] │ │ Point :: Identifier │ scope_layer=1 │ Dim :: Identifier │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ [curly] │ │ Vararg :: Identifier │ scope_layer=1 │ VertexAttributeType :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ FVT :: Identifier │ scope_layer=1 │ [curly] │ │ AbstractVector :: Identifier │ scope_layer=1 │ FT :: Identifier │ scope_layer=1 │ [curly] │ │ AbstractMesh :: Identifier │ scope_layer=1 │ Dim :: Identifier │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ [block] │ │ [::] │ │ vertex_attributes :: Identifier │ scope_layer=1 │ [curly] │ │ NamedTuple :: Identifier │ scope_layer=1 │ Names :: Identifier │ scope_layer=1 │ VAT :: Identifier │ scope_layer=1 │ [::] │ │ faces :: Identifier │ scope_layer=1 │ FVT :: Identifier │ scope_layer=1 │ [::] │ │ views :: Identifier │ scope_layer=1 │ [curly] │ │ Vector :: Identifier │ scope_layer=1 │ [curly] │ │ UnitRange :: Identifier │ scope_layer=1 │ UInt32 :: Identifier │ scope_layer=1 │ [function] │ │ [where] │ │ [call] │ │ Mesh :: Identifier │ scope_layer=1 │ [::] │ │ vertex_attributes :: Identifier │ scope_layer=1 │ [curly] │ │ NamedTuple :: Identifier │ scope_layer=1 │ Names :: Identifier │ scope_layer=1 │ VAT :: Identifier │ scope_layer=1 │ [::] │ │ fs :: Identifier │ scope_layer=1 │ FVT :: Identifier │ scope_layer=1 │ [kw] │ │ [::] │ │ views :: Identifier │ scope_layer=1 │ [curly] │ │ Vector :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ [curly] │ │ UnitRange :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ Integer :: Identifier │ scope_layer=1 │ [ref] │ │ [curly] │ │ UnitRange :: Identifier │ scope_layer=1 │ UInt32 :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ FT :: Identifier │ scope_layer=1 │ AbstractFace :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ FVT :: Identifier │ scope_layer=1 │ [curly] │ │ AbstractVector :: Identifier │ scope_layer=1 │ FT :: Identifier │ scope_layer=1 │ Names :: Identifier │ scope_layer=1 │ Dim :: Identifier │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ VAT :: Identifier │ scope_layer=1 │ [curly] │ │ Tuple :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ [curly] │ │ AbstractVector :: Identifier │ scope_layer=1 │ [curly] │ │ Point :: Identifier │ scope_layer=1 │ Dim :: Identifier │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ [curly] │ │ Vararg :: Identifier │ scope_layer=1 │ VertexAttributeType :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ va :: Identifier │ scope_layer=1 │ vertex_attributes :: Identifier │ scope_layer=1 │ [=] │ │ names :: Identifier │ scope_layer=1 │ Names :: Identifier │ scope_layer=1 │ [if] │ │ [call] │ │ ! :: Identifier │ scope_layer=1 │ [call] │ │ haskey :: Identifier │ scope_layer=1 │ va :: Identifier │ scope_layer=1 │ [inert] │ │ position :: Identifier │ │ [block] │ │ [call] │ │ error :: Identifier │ scope_layer=1 │ "Vertex attributes must have a :position attribute." :: Value │ macro_source=256 │ [if] │ │ [call] │ │ haskey :: Identifier │ scope_layer=1 │ va :: Identifier │ scope_layer=1 │ [inert] │ │ normals :: Identifier │ │ [block] │ │ [block] │ │ [let] │ │ [block] │ macro_source=256 │ [block] │ │ [=] │ │ #7#level :: Identifier │ scope_layer=1 │ Warn :: Identifier │ mod,scope_layer=1 │ [=] │ │ #8#std_level :: Identifier │ scope_layer=1 │ #7#level :: Identifier │ scope_layer=1 │ [if] │ │ [call] │ │ >= :: Identifier │ mod,scope_layer=1 │ [.] │ │ #8#std_level :: Identifier │ scope_layer=1 │ [inert] │ │ level :: Identifier │ │ [ref] │ macro_source=256 │ Base.Threads.Atomic{Int32}(-1000) :: Value │ macro_source=256 │ [block] │ │ [=] │ │ #9#group :: Identifier │ scope_layer=1 │ [inert] │ │ basic_types :: Identifier │ │ [=] │ │ #10#_module :: Identifier │ scope_layer=1 │ GeometryBasics :: Value │ macro_source=256 │ [=] │ │ #11#logger :: Identifier │ scope_layer=1 │ [call] │ │ Base.CoreLogging.current_logger_for_env :: Value │ macro_source=256 │ #8#std_level :: Identifier │ scope_layer=1 │ #9#group :: Identifier │ scope_layer=1 │ #10#_module :: Identifier │ scope_layer=1 │ [if] │ │ [call] │ │ ! :: Identifier │ mod,scope_layer=1 │ [call] │ │ === :: Identifier │ mod,scope_layer=1 │ #11#logger :: Identifier │ scope_layer=1 │ nothing :: Identifier │ mod,scope_layer=1 │ [block] │ │ [=] │ │ #12#id :: Identifier │ scope_layer=1 │ [inert] │ │ GeometryBasics_1e57c75a :: Identifier │ │ [if] │ │ [call] │ │ invokelatest :: Identifier │ mod,scope_layer=1 │ Base.CoreLogging.shouldlog :: Value │ macro_source=256 │ #11#logger :: Identifier │ scope_layer=1 │ #7#level :: Identifier │ scope_layer=1 │ #10#_module :: Identifier │ scope_layer=1 │ #9#group :: Identifier │ scope_layer=1 │ #12#id :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ #13#file :: Identifier │ scope_layer=1 │ "/home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl" :: Value │ macro_source=256 │ [if] │ │ [call] │ │ isa :: Identifier │ mod,scope_layer=1 │ #13#file :: Identifier │ scope_layer=1 │ String :: Identifier │ mod,scope_layer=1 │ [block] │ │ [=] │ │ #13#file :: Identifier │ scope_layer=1 │ [call] │ │ [.] │ │ Base :: Identifier │ mod,scope_layer=1 │ [inert] │ │ fixup_stdlib_path :: Identifier │ │ #13#file :: Identifier │ scope_layer=1 │ [=] │ │ #14#line :: Identifier │ scope_layer=1 │ 533 :: Value │ macro_source=256 │ [local] │ │ #15#msg :: Identifier │ scope_layer=1 │ #16#kwargs :: Identifier │ scope_layer=1 │ [if] │ │ [block] │ │ [=] │ │ #15#msg :: Identifier │ scope_layer=1 │ "`normals` as a vertex attribute name has been deprecated in favor of `normal` to bring it in line with mesh.position and mesh.uv" :: Value │ macro_source=256 │ [=] │ │ #16#kwargs :: Identifier │ scope_layer=1 │ [tuple] │ macro_source=256 │ [parameters] │ macro_source=256 │ true :: Value │ macro_source=256 │ [block] │ │ [if] │ │ [isdefined] │ │ #15#msg :: Identifier │ scope_layer=1 │ nothing :: Value │ macro_source=256 │ [call] │ │ throw :: Identifier │ mod,scope_layer=1 │ [call] │ │ AssertionError :: Identifier │ mod,scope_layer=1 │ "Assertion to tell the compiler about the definedness of this variable" :: Value │ macro_source=256 │ [if] │ │ [isdefined] │ │ #16#kwargs :: Identifier │ scope_layer=1 │ nothing :: Value │ macro_source=256 │ [call] │ │ throw :: Identifier │ mod,scope_layer=1 │ [call] │ │ AssertionError :: Identifier │ mod,scope_layer=1 │ "Assertion to tell the compiler about the definedness of this variable" :: Value │ macro_source=256 │ [call] │ │ Base.CoreLogging.handle_message_nothrow :: Value │ macro_source=256 │ [parameters] │ │ [...] │ │ #16#kwargs :: Identifier │ scope_layer=1 │ #11#logger :: Identifier │ scope_layer=1 │ #7#level :: Identifier │ scope_layer=1 │ #15#msg :: Identifier │ scope_layer=1 │ #10#_module :: Identifier │ scope_layer=1 │ #9#group :: Identifier │ scope_layer=1 │ #12#id :: Identifier │ scope_layer=1 │ #13#file :: Identifier │ scope_layer=1 │ #14#line :: Identifier │ scope_layer=1 │ nothing :: Identifier │ mod,scope_layer=1 │ [=] │ │ names :: Identifier │ scope_layer=1 │ [call] │ │ ntuple :: Identifier │ scope_layer=1 │ [->] │ │ i :: Identifier │ scope_layer=1 │ [block] │ │ [call] │ │ ifelse :: Identifier │ scope_layer=1 │ [call] │ │ == :: Identifier │ scope_layer=1 │ [ref] │ │ names :: Identifier │ scope_layer=1 │ i :: Identifier │ scope_layer=1 │ [inert] │ │ normal :: Identifier │ │ [inert] │ │ normal :: Identifier │ │ [ref] │ │ names :: Identifier │ scope_layer=1 │ i :: Identifier │ scope_layer=1 │ [call] │ │ length :: Identifier │ scope_layer=1 │ names :: Identifier │ scope_layer=1 │ [=] │ │ va :: Identifier │ scope_layer=1 │ [call] │ │ [curly] │ │ NamedTuple :: Identifier │ scope_layer=1 │ names :: Identifier │ scope_layer=1 │ [call] │ │ values :: Identifier │ scope_layer=1 │ va :: Identifier │ scope_layer=1 │ [=] │ │ N :: Identifier │ scope_layer=1 │ [call] │ │ maximum :: Identifier │ scope_layer=1 │ [->] │ │ f :: Identifier │ scope_layer=1 │ [block] │ │ [call] │ │ value :: Identifier │ scope_layer=1 │ [call] │ │ maximum :: Identifier │ scope_layer=1 │ f :: Identifier │ scope_layer=1 │ fs :: Identifier │ scope_layer=1 │ [kw] │ │ init :: Identifier │ scope_layer=1 │ 0 :: Value │ macro_source=256 │ [for] │ │ [=] │ │ [tuple] │ │ name :: Identifier │ scope_layer=1 │ attrib :: Identifier │ scope_layer=1 │ [call] │ │ pairs :: Identifier │ scope_layer=1 │ va :: Identifier │ scope_layer=1 │ [block] │ │ [if] │ │ [call] │ │ isa :: Identifier │ scope_layer=1 │ attrib :: Identifier │ scope_layer=1 │ FaceView :: Identifier │ scope_layer=1 │ [block] │ │ [try] │ │ [block] │ │ [call] │ │ verify :: Identifier │ scope_layer=1 │ fs :: Identifier │ scope_layer=1 │ attrib :: Identifier │ scope_layer=1 │ e :: Identifier │ scope_layer=1 │ [block] │ │ [call] │ │ rethrow :: Identifier │ scope_layer=1 │ [call] │ │ ErrorException :: Identifier │ scope_layer=1 │ [string] │ │ "Failed to verify " :: Value │ macro_source=256 │ name :: Identifier │ scope_layer=1 │ " attribute:\n" :: Value │ macro_source=256 │ [.] │ │ e :: Identifier │ scope_layer=1 │ [inert] │ │ msg :: Identifier │ │ [block] │ │ [&&] │ │ [call] │ │ < :: Identifier │ scope_layer=1 │ [call] │ │ length :: Identifier │ scope_layer=1 │ attrib :: Identifier │ scope_layer=1 │ N :: Identifier │ scope_layer=1 │ [call] │ │ error :: Identifier │ scope_layer=1 │ [string] │ │ "Failed to verify " :: Value │ macro_source=256 │ name :: Identifier │ scope_layer=1 │ " attribute:\nFaces address " :: Value │ macro_source=256 │ N :: Identifier │ scope_layer=1 │ " vertex attributes but only " :: Value │ macro_source=256 │ [call] │ │ length :: Identifier │ scope_layer=1 │ attrib :: Identifier │ scope_layer=1 │ " are present." :: Value │ macro_source=256 │ [return] │ │ [call] │ │ [curly] │ │ new :: Identifier │ scope_layer=1 │ Dim :: Identifier │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ FT :: Identifier │ scope_layer=1 │ names :: Identifier │ scope_layer=1 │ VAT :: Identifier │ scope_layer=1 │ FVT :: Identifier │ scope_layer=1 │ va :: Identifier │ scope_layer=1 │ fs :: Identifier │ scope_layer=1 │ views :: Identifier │ scope_layer=1 │ [call] │ │ Base.Docs.doc! :: Value │ macro_source=256 │ GeometryBasics :: Value │ macro_source=256 │ [call] │ │ Base.Docs.Binding :: Value │ macro_source=256 │ GeometryBasics :: Value │ │ [inert] │ jl_source=L65 │ Mesh :: Identifier │ │ [call] │ │ Base.Docs.docstr :: Value │ macro_source=256 │ [call] │ macro_source=256 │ Core.svec :: Value │ macro_source=256 │ " Mesh{PositionDim, PositionType, FaceType, VertexAttributeNames, VertexAttributeTypes, FaceVectorType} <: AbstractMesh{PositionDim, PositionType} <: AbstractGeometry{PositionDim, PositionType}\n\nThe type of a concrete mesh. The associated struct contains 3 fields:\n\n```julia\nstruct Mesh{...}\n vertex_attributes::NamedTuple{VertexAttributeNames, VertexAttributeTypes}\n faces::FaceVectorType\n views::Vector{UnitRange{Int}}\nend\n```\n\nA vertex typically carries multiple distinct pieces of data, e.g. a position,\na normal, a texture coordinate, etc. We call those pieces of data vertex\nattributes. The `vertex_attributes` field contains the name and a collection\n`<: AbstractVector` or `<: FaceView` for each attribute. The n-th element of that\ncollection is the value of the corresponding attribute for the n-th vertex.\n\n```julia\n# vertex 1 2 3\nvertex_attributes[:position] = [pos1, pos2, pos3, ...]\nvertex_attributes[:normal] = [normal1, normal2, normal3, ...]\n...\n```\n\nA `NamedTuple` is used here to allow different meshes to carry different vertex\nattributes while also keeping things type stable. The constructor enforces a\nfew restrictions:\n- The first attribute must be named `position` and must have a `Point{PositionDim, PositionType}` eltype.\n- Each vertex attribute must refer to the same number of vertices. (All vertex attributes defined by\nAbstractVector must match in length. For FaceViews, the number of faces needs to match.)\n\nSee also: [`vertex_attributes`](@ref), [`coordinates`](@ref), [`normals`](@ref),\n[`texturecoordinates`](@ref), [`decompose`](@ref), [`FaceView`](@ref),\n[`expand_faceviews`](@ref)\n\nThe `faces` field is a collection `<: AbstractVector{FaceType}` containing faces\nthat describe how vertices are connected. Typically these are `(GL)TriangleFace`s\nor `QuadFace`s, but they can be any collection of vertex indices `<: AbstractFace`.\n\nSee also: [`faces`](@ref), [`decompose`](@ref)\n\nThe `views` field can be used to separate the mesh into mutliple submeshes. Each\nsubmesh is described by a \"view\" into the `faces` vector, i.e. submesh n uses\n`mesh.faces[mesh.views[n]]`. A `Mesh` can be constructed without `views`, which\nresults in an empty `views` vector.\n\nSee also: [`merge`](@ref), [`split_mesh`](@ref)\n" :: Value │ macro_source=256 │ [call] │ │ Dict{Symbol, Any} :: Value │ macro_source=256 │ :path => "/home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl" :: Value │ macro_source=256 │ :linenumber => 453 :: Value │ macro_source=256 │ :module => GeometryBasics :: Value │ macro_source=256 │ [call] │ │ Pair :: Value │ macro_source=256 │ [inert] │ │ fields :: Identifier │ │ [call] │ macro_source=256 │ Dict{Symbol, Any} :: Value │ macro_source=256 │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ val :: Identifier │ scope_layer=3 │ │ file = "/home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl" │ line = 453 └ mod = GeometryBasics ERROR: LoadError: internal lowering bug: #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:515 =# - `jl_assert(!(haskey(ssa_rewrites, lhs_id)), _)`: multiple assignments to ssavalue Expression:  (= #₂₆ (call core.TypeVar :#T1 #₂₈₉)) Containing expressions:  (= #₂₆ (call core.TypeVar :#T1 #₂₈₉))  Detailed provenance:  (= #₂₆ (call core.TypeVar :#T1 #₂₈₉)) @#= /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:366 =#  └─ (= #₂₆ (call core.TypeVar :#T1 (call core.apply_type #₅₆/AbstractVector (call core.apply_type #₅₇/Point #₆₉/Dim #₇₀/T)))) @#= /source/usr/share/julia/JuliaLowering/src/closure_conversion.jl:197 =#  └─ (= #₂₆ (call core.TypeVar :#T1 (call core.apply_type #₅₆/AbstractVector (call core.apply_type #₅₇/Point #₆₉/Dim #₇₀/T)))) @#= /source/usr/share/julia/JuliaLowering/src/desugaring.jl:231 =#  └─ (= #₂₆ (call core.TypeVar :#T1 (call core.apply_type AbstractVector (call core.apply_type Point Dim T)))) @#= /source/usr/share/julia/JuliaLowering/src/desugaring.jl:231 =#  └─ (= #₂₆ (call core.TypeVar :#T1 (curly AbstractVector (curly Point Dim T))))  └─ (call core.TypeVar :#T1 (curly AbstractVector (curly Point Dim T))) @#= /source/usr/share/julia/JuliaLowering/src/desugaring.jl:3025 =#  └─ (<: (curly AbstractVector (curly Point Dim T)))  └─ (<: (curly AbstractVector (curly Point Dim T)))  └─ (<: (curly AbstractVector (curly Point Dim T)))  └─ (<: (curly AbstractVector (curly Point Dim T)))  ├─ @ /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:515  └─ (macrocall @doc :(#= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:453 =#) " Mesh{PositionDim, PositionType, FaceType, VertexAttributeNames, VertexAttributeTypes, FaceVectorType} <: AbstractMesh{PositionDim, PositionType} <: AbstractGeometry{PositionDim, PositionType}\n\nThe type of a concrete mesh. The associated struct contains 3 fields:\n\n```julia\nstruct Mesh{...}\n vertex_attributes::NamedTuple{VertexAttributeNames, VertexAttributeTypes}\n faces::FaceVectorType\n views::Vector{UnitRange{Int}}\nend\n```\n\nA vertex typically carries multiple distinct pieces of data, e.g. a position,\na normal, a texture coordinate, etc. We call those pieces of data vertex\nattributes. The `vertex_attributes` field contains the name and a collection\n`<: AbstractVector` or `<: FaceView` for each attribute. The n-th element of that\ncollection is the value of the corresponding attribute for the n-th vertex.\n\n```julia\n# vertex 1 2 3\nvertex_attributes[:position] = [pos1, pos2, pos3, ...]\nvertex_attributes[:normal] = [normal1, normal2, normal3, ...]\n...\n```\n\nA `NamedTuple` is used here to allow different meshes to carry different vertex\nattributes while also keeping things type stable. The constructor enforces a\nfew restrictions:\n- The first attribute must be named `position` and must have a `Point{PositionDim, PositionType}` eltype.\n- Each vertex attribute must refer to the same number of vertices. (All vertex attributes defined by\nAbstractVector must match in length. For FaceViews, the number of faces needs to match.)\n\nSee also: [`vertex_attributes`](@ref), [`coordinates`](@ref), [`normals`](@ref),\n[`texturecoordinates`](@ref), [`decompose`](@ref), [`FaceView`](@ref),\n[`expand_faceviews`](@ref)\n\nThe `faces` field is a collection `<: AbstractVector{FaceType}` containing faces\nthat describe how vertices are connected. Typically these are `(GL)TriangleFace`s\nor `QuadFace`s, but they can be any collection of vertex indices `<: AbstractFace`.\n\nSee also: [`faces`](@ref), [`decompose`](@ref)\n\nThe `views` field can be used to separate the mesh into mutliple submeshes. Each\nsubmesh is described by a \"view\" into the `faces` vector, i.e. submesh n uses\n`mesh.faces[mesh.views[n]]`. A `Mesh` can be constructed without `views`, which\nresults in an empty `views` vector.\n\nSee also: [`merge`](@ref), [`split_mesh`](@ref)\n" (struct false (<: (curly Mesh Dim (<: T Real) (<: FT AbstractFace) Names (<: VAT (curly Tuple (<: (curly AbstractVector (curly Point Dim T))) (curly Vararg VertexAttributeType))) (<: FVT (curly AbstractVector FT))) (curly AbstractMesh Dim T)) (block (:: vertex_attributes (curly NamedTuple Names VAT)) (:: faces FVT) (:: views (curly Vector (curly UnitRange UInt32))) (function (where (call Mesh (:: vertex_attributes (curly NamedTuple Names VAT)) (:: fs FVT) (kw (:: views (curly Vector (<: (curly UnitRange (<: Integer))))) (ref (curly UnitRange UInt32)))) (<: FT AbstractFace) (<: FVT (curly AbstractVector FT)) Names Dim T (<: VAT (curly Tuple (<: (curly AbstractVector (curly Point Dim T))) (curly Vararg VertexAttributeType)))) (block (= va vertex_attributes) (= names Names) (if (call ! (call haskey va (inert position))) (block (call error "Vertex attributes must have a :position attribute."))) (if (call haskey va (inert normals)) (block (macrocall @warn :(#= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:533 =#) "`normals` as a vertex attribute name has been deprecated in favor of `normal` to bring it in line with mesh.position and mesh.uv") (= names (call ntuple (-> i (block (call ifelse (call == (ref names i) (inert normal)) (inert normal) (ref names i)))) (call length names))) (= va (call (curly NamedTuple names) (call values va))))) (= N (call maximum (-> f (block (call value (call maximum f)))) fs (kw init 0))) (for (= (tuple name attrib) (call pairs va)) (block (if (call isa attrib FaceView) (block (try (block (call verify fs attrib)) e (block (call rethrow (call ErrorException (string "Failed to verify " name " attribute:\n" (. e (inert msg)))))))) (block (&& (call < (call length attrib) N) (call error (string "Failed to verify " name " attribute:\nFaces address " N " vertex attributes but only " (call length attrib) " are present."))))))) (return (call (curly new Dim T FT names VAT FVT) va fs views)))))))  └─ @ /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:453  Stacktrace:  [1] iterate(A::Base.JuliaSyntax.SyntaxList{Dict{Symbol, Dict{Int64, Any}}, Vector{Int64}})  @ Base /source/usr/share/julia/JuliaLowering/src/ast.jl:23 [inlined]  [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:1106  [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:1223  [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:1253  [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:327  [7] top-level scope  @ ~/.julia/packages/GeometryBasics/yB1f1/src/GeometryBasics.jl:12  [8] include(mod::Module, _path::String)  @ Base ./Base.jl:326  [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:3271  [10] top-level scope  @ stdin:5  [11] eval(m::Module, e::Any)  @ Core ./boot.jl:517  [12] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)  @ Base ./loading.jl:3113  [13] push!(a::Vector{SubString{String}}, item::String)  @ Base ./loading.jl:3123 [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/GeometryBasics/yB1f1/src/basic_types.jl:453 in expression starting at /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/GeometryBasics.jl:1 in expression starting at stdin:5 ERROR: LoadError: Precompiled image Base.PkgId(Base.UUID("f0e56b4a-5159-44fe-b623-3e5288b988bb"), "ConcurrentUtilities") not available with flags CacheFlags(; use_pkgimages=false, debug_level=1, check_bounds=1, inline=true, opt_level=0) Stacktrace:  [1] error(s::String)  @ Base ./error.jl:56  [2] __require_prelocked(pkg::Base.PkgId, env::String)  @ Base ./loading.jl:2818  [3] _require_prelocked(uuidkey::Base.PkgId, env::String)  @ Base ./loading.jl:2672  [4] macro expansion  @ ./loading.jl:2599 [inlined]  [5] string(::String, ::Union{Char, SubString{String}, String, Symbol}, ::Symbol, ::String)  @ Base ./lock.jl:376 [inlined]  [6] __require(into::Module, mod::Symbol)  @ Base ./loading.jl:2563  [7] require  @ ./loading.jl:2539 [inlined]  [8] eval_import_path(at::Module, from::Nothing, path::Expr, keyword::String)  @ Base ./module.jl:36 [inlined]  [9] eval_import_path_all(at::Module, path::Expr, keyword::String)  @ Base ./module.jl:60  [10] _eval_using(to::Module, path::Expr, flags::UInt8)  @ Base ./module.jl:137 [inlined]  [11] eval_using(to::Module, path::Expr)  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/runtime.jl:207  [12] top-level scope  @ ~/.julia/packages/HTTP/Y97L1/src/Connections.jl:1  [13] macro expansion  @ ~/.julia/packages/HTTP/Y97L1/src/Connections.jl:26 [inlined]  [14] eval(m::Module, e::Any)  @ Core ./boot.jl:517  [15] _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:494  [16] _eval  @ /source/usr/share/julia/JuliaLowering/src/eval.jl:475 [inlined]  [17] #eval#134  @ /source/usr/share/julia/JuliaLowering/src/eval.jl:467 [inlined]  [18] top-level scope  @ ~/.julia/packages/HTTP/Y97L1/src/Connections.jl:1  [19] macro expansion  @ ~/.julia/packages/HTTP/Y97L1/src/Connections.jl:1 [inlined]  [20] include(mapexpr::Function, mod::Module, _path::String)  @ Base ./Base.jl:327  [21] top-level scope  @ ~/.julia/packages/HTTP/Y97L1/src/HTTP.jl:40  [22] include(mod::Module, _path::String)  @ Base ./Base.jl:326  [23] 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  [24] top-level scope  @ stdin:5  [25] eval(m::Module, e::Any)  @ Core ./boot.jl:517  [26] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)  @ Base ./loading.jl:3113  [27] push!(a::Vector{SubString{String}}, item::String)  @ Base ./loading.jl:3123 [inlined]  [28] exec_options(opts::Base.JLOptions)  @ Base ./client.jl:353  [29] _start()  @ Base ./client.jl:596 in expression starting at /home/pkgeval/.julia/packages/HTTP/Y97L1/src/Connections.jl:1 in expression starting at /home/pkgeval/.julia/packages/HTTP/Y97L1/src/HTTP.jl:1 in expression starting at stdin:5 ERROR: LoadError: Precompiled image Base.PkgId(Base.UUID("5c1252a2-5f33-56bf-86c9-59e7332b4326"), "GeometryBasics") not available with flags CacheFlags(; use_pkgimages=false, debug_level=1, check_bounds=1, inline=true, opt_level=0) Stacktrace:  [1] error(s::String)  @ Base ./error.jl:56  [2] __require_prelocked(pkg::Base.PkgId, env::String)  @ Base ./loading.jl:2818  [3] _require_prelocked(uuidkey::Base.PkgId, env::String)  @ Base ./loading.jl:2672  [4] macro expansion  @ ./loading.jl:2599 [inlined]  [5] string(::String, ::Union{Char, SubString{String}, String, Symbol}, ::Symbol, ::String)  @ Base ./lock.jl:376 [inlined]  [6] __require(into::Module, mod::Symbol)  @ Base ./loading.jl:2563  [7] require  @ ./loading.jl:2539 [inlined]  [8] eval_import_path(at::Module, from::Nothing, path::Expr, keyword::String)  @ Base ./module.jl:36 [inlined]  [9] eval_import_path_all(at::Module, path::Expr, keyword::String)  @ Base ./module.jl:60  [10] _eval_import(::Bool, ::Module, ::Expr, ::Expr, ::Vararg{Expr})  @ Base ./module.jl:101  [11] eval_import(::Bool, ::Module, ::Expr, ::Expr, ::Vararg{Expr})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/runtime.jl:195  [12] top-level scope  @ ~/.julia/packages/MeshCat/4DqVC/src/MeshCat.jl:3  [13] include(mod::Module, _path::String)  @ Base ./Base.jl:326  [14] 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  [15] top-level scope  @ stdin:5  [16] eval(m::Module, e::Any)  @ Core ./boot.jl:517  [17] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)  @ Base ./loading.jl:3113  [18] push!(a::Vector{SubString{String}}, item::String)  @ Base ./loading.jl:3123 [inlined]  [19] exec_options(opts::Base.JLOptions)  @ Base ./client.jl:353  [20] _start()  @ Base ./client.jl:596 in expression starting at /home/pkgeval/.julia/packages/MeshCat/4DqVC/src/MeshCat.jl:1 in expression starting at stdin:5 4 dependencies had output during precompilation: ┌ HTTP │ ERROR: LoadError: Precompiled image Base.PkgId(Base.UUID("f0e56b4a-5159-44fe-b623-3e5288b988bb"), "ConcurrentUtilities") not available with flags CacheFlags(; use_pkgimages=false, debug_level=1, check_bounds=1, inline=true, opt_level=0) │ Stacktrace: │ [1] error(s::String) │ @ Base ./error.jl:56 │ [2] __require_prelocked(pkg::Base.PkgId, env::String) │ @ Base ./loading.jl:2818 │ [3] _require_prelocked(uuidkey::Base.PkgId, env::String) │ @ Base ./loading.jl:2672 │ [4] macro expansion │ @ ./loading.jl:2599 [inlined] │ [5] string(::String, ::Union{Char, SubString{String}, String, Symbol}, ::Symbol, ::String) │ @ Base ./lock.jl:376 [inlined] │ [6] __require(into::Module, mod::Symbol) │ @ Base ./loading.jl:2563 │ [7] require │ @ ./loading.jl:2539 [inlined] │ [8] eval_import_path(at::Module, from::Nothing, path::Expr, keyword::String) │ @ Base ./module.jl:36 [inlined] │ [9] eval_import_path_all(at::Module, path::Expr, keyword::String) │ @ Base ./module.jl:60 │ [10] _eval_using(to::Module, path::Expr, flags::UInt8) │ @ Base ./module.jl:137 [inlined] │ [11] eval_using(to::Module, path::Expr) │ @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/runtime.jl:207 │ [12] top-level scope │ @ ~/.julia/packages/HTTP/Y97L1/src/Connections.jl:1 │ [13] macro expansion │ @ ~/.julia/packages/HTTP/Y97L1/src/Connections.jl:26 [inlined] │ [14] eval(m::Module, e::Any) │ @ Core ./boot.jl:517 │ [15] _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:494 │ [16] _eval │ @ /source/usr/share/julia/JuliaLowering/src/eval.jl:475 [inlined] │ [17] #eval#134 │ @ /source/usr/share/julia/JuliaLowering/src/eval.jl:467 [inlined] │ [18] top-level scope │ @ ~/.julia/packages/HTTP/Y97L1/src/Connections.jl:1 │ [19] macro expansion │ @ ~/.julia/packages/HTTP/Y97L1/src/Connections.jl:1 [inlined] │ [20] include(mapexpr::Function, mod::Module, _path::String) │ @ Base ./Base.jl:327 │ [21] top-level scope │ @ ~/.julia/packages/HTTP/Y97L1/src/HTTP.jl:40 │ [22] include(mod::Module, _path::String) │ @ Base ./Base.jl:326 │ [23] 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 │ [24] top-level scope │ @ stdin:5 │ [25] eval(m::Module, e::Any) │ @ Core ./boot.jl:517 │ [26] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) │ @ Base ./loading.jl:3113 │ [27] push!(a::Vector{SubString{String}}, item::String) │ @ Base ./loading.jl:3123 [inlined] │ [28] exec_options(opts::Base.JLOptions) │ @ Base ./client.jl:353 │ [29] _start() │ @ Base ./client.jl:596 │ in expression starting at /home/pkgeval/.julia/packages/HTTP/Y97L1/src/Connections.jl:1 │ in expression starting at /home/pkgeval/.julia/packages/HTTP/Y97L1/src/HTTP.jl:1 │ in expression starting at stdin:5 └ ┌ GeometryBasics │ ┌ Info: JuliaLowering threw given input: │ │ code = │ │ :(#= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:453 =# Core.@doc " Mesh{PositionDim, PositionType, FaceType, VertexAttributeNames, VertexAttributeTypes, FaceVectorType} <: AbstractMesh{PositionDim, PositionType} <: AbstractGeometry{PositionDim, PositionType}\n\nThe type of a concrete mesh. The associated struct contains 3 fields:\n\n```julia\nstruct Mesh{...}\n vertex_attributes::NamedTuple{VertexAttributeNames, VertexAttributeTypes}\n faces::FaceVectorType\n views::Vector{UnitRange{Int}}\nend\n```\n\nA vertex typically carries multiple distinct pieces of data, e.g. a position,\na normal, a texture coordinate, etc. We call those pieces of data vertex\nattributes. The `vertex_attributes` field contains the name and a collection\n`<: AbstractVector` or `<: FaceView` for each attribute. The n-th element of that\ncollection is the value of the corresponding attribute for the n-th vertex.\n\n```julia\n# vertex 1 2 3\nvertex_attributes[:position] = [pos1, pos2, pos3, ...]\nvertex_attributes[:normal] = [normal1, normal2, normal3, ...]\n...\n```\n\nA `NamedTuple` is used here to allow different meshes to carry different vertex\nattributes while also keeping things type stable. The constructor enforces a\nfew restrictions:\n- The first attribute must be named `position` and must have a `Point{PositionDim, PositionType}` eltype.\n- Each vertex attribute must refer to the same number of vertices. (All vertex attributes defined by\nAbstractVector must match in length. For FaceViews, the number of faces needs to match.)\n\nSee also: [`vertex_attributes`](@ref), [`coordinates`](@ref), [`normals`](@ref),\n[`texturecoordinates`](@ref), [`decompose`](@ref), [`FaceView`](@ref),\n[`expand_faceviews`](@ref)\n\nThe `faces` field is a collection `<: AbstractVector{FaceType}` containing faces\nthat describe how vertices are connected. Typically these are `(GL)TriangleFace`s\nor `QuadFace`s, but they can be any collection of vertex indices `<: AbstractFace`.\n\nSee also: [`faces`](@ref), [`decompose`](@ref)\n\nThe `views` field can be used to separate the mesh into mutliple submeshes. Each\nsubmesh is described by a \"view\" into the `faces` vector, i.e. submesh n uses\n`mesh.faces[mesh.views[n]]`. A `Mesh` can be constructed without `views`, which\nresults in an empty `views` vector.\n\nSee also: [`merge`](@ref), [`split_mesh`](@ref)\n" struct Mesh{Dim, T <: Real, FT <: AbstractFace, Names, VAT <: Tuple{<:AbstractVector{Point{Dim, T}}, Vararg{VertexAttributeType}}, FVT <: AbstractVector{FT}} <: AbstractMesh{Dim, T} │ │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:511 =# │ │ vertex_attributes::NamedTuple{Names, VAT} │ │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:512 =# │ │ faces::FVT │ │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:513 =# │ │ views::Vector{UnitRange{UInt32}} │ │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:515 =# │ │ function Mesh(vertex_attributes::NamedTuple{Names, VAT}, fs::FVT, views::Vector{<:UnitRange{<:Integer}} = UnitRange{UInt32}[]) where {FT <: AbstractFace, FVT <: AbstractVector{FT}, Names, Dim, T, VAT <: Tuple{<:AbstractVector{Point{Dim, T}}, Vararg{VertexAttributeType}}} │ │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:515 =# │ │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:524 =# │ │ va = vertex_attributes │ │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:525 =# │ │ names = Names │ │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:528 =# │ │ if !(haskey(va, :position)) │ │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:529 =# │ │ error("Vertex attributes must have a :position attribute.") │ │ end │ │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:532 =# │ │ if haskey(va, :normals) │ │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:533 =# │ │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:533 =# @warn "`normals` as a vertex attribute name has been deprecated in favor of `normal` to bring it in line with mesh.position and mesh.uv" │ │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:534 =# │ │ names = ntuple((i->begin │ │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:534 =# │ │ ifelse(names[i] == :normal, :normal, names[i]) │ │ end), length(names)) │ │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:535 =# │ │ va = NamedTuple{names}(values(va)) │ │ end │ │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:541 =# │ │ N = maximum((f->begin │ │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:541 =# │ │ value(maximum(f)) │ │ end), fs, init = 0) │ │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:542 =# │ │ for (name, attrib) = pairs(va) │ │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:543 =# │ │ if attrib isa FaceView │ │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:544 =# │ │ try │ │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:545 =# │ │ verify(fs, attrib) │ │ catch e │ │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:547 =# │ │ rethrow(ErrorException("Failed to verify $(name) attribute:\n$(e.msg)")) │ │ end │ │ else │ │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:550 =# │ │ length(attrib) < N && error("Failed to verify $(name) attribute:\nFaces address $(N) vertex attributes but only $(length(attrib)) are present.") │ │ end │ │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:552 =# │ │ end │ │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:554 =# │ │ return new{Dim, T, FT, names, VAT, FVT}(va, fs, views) │ │ end │ │ 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/GeometryBasics/yB1f1/src/basic_types.jl:453 =#) :: Value │ │ │ " Mesh{PositionDim, PositionType, FaceType, VertexAttributeNames, VertexAttributeTypes, FaceVectorType} <: AbstractMesh{PositionDim, PositionType} <: AbstractGeometry{PositionDim, PositionType}\n\nThe type of a concrete mesh. The associated struct contains 3 fields:\n\n```julia\nstruct Mesh{...}\n vertex_attributes::NamedTuple{VertexAttributeNames, VertexAttributeTypes}\n faces::FaceVectorType\n views::Vector{UnitRange{Int}}\nend\n```\n\nA vertex typically carries multiple distinct pieces of data, e.g. a position,\na normal, a texture coordinate, etc. We call those pieces of data vertex\nattributes. The `vertex_attributes` field contains the name and a collection\n`<: AbstractVector` or `<: FaceView` for each attribute. The n-th element of that\ncollection is the value of the corresponding attribute for the n-th vertex.\n\n```julia\n# vertex 1 2 3\nvertex_attributes[:position] = [pos1, pos2, pos3, ...]\nvertex_attributes[:normal] = [normal1, normal2, normal3, ...]\n...\n```\n\nA `NamedTuple` is used here to allow different meshes to carry different vertex\nattributes while also keeping things type stable. The constructor enforces a\nfew restrictions:\n- The first attribute must be named `position` and must have a `Point{PositionDim, PositionType}` eltype.\n- Each vertex attribute must refer to the same number of vertices. (All vertex attributes defined by\nAbstractVector must match in length. For FaceViews, the number of faces needs to match.)\n\nSee also: [`vertex_attributes`](@ref), [`coordinates`](@ref), [`normals`](@ref),\n[`texturecoordinates`](@ref), [`decompose`](@ref), [`FaceView`](@ref),\n[`expand_faceviews`](@ref)\n\nThe `faces` field is a collection `<: AbstractVector{FaceType}` containing faces\nthat describe how vertices are connected. Typically these are `(GL)TriangleFace`s\nor `QuadFace`s, but they can be any collection of vertex indices `<: AbstractFace`.\n\nSee also: [`faces`](@ref), [`decompose`](@ref)\n\nThe `views` field can be used to separate the mesh into mutliple submeshes. Each\nsubmesh is described by a \"view\" into the `faces` vector, i.e. submesh n uses\n`mesh.faces[mesh.views[n]]`. A `Mesh` can be constructed without `views`, which\nresults in an empty `views` vector.\n\nSee also: [`merge`](@ref), [`split_mesh`](@ref)\n" :: Value │ │ │ [struct] │ │ │ false :: Value │ │ │ [<:] │ │ │ [curly] │ │ │ Mesh :: Identifier │ │ │ Dim :: Identifier │ │ │ [<:] │ │ │ T :: Identifier │ │ │ Real :: Identifier │ │ │ [<:] │ │ │ FT :: Identifier │ │ │ AbstractFace :: Identifier │ │ │ Names :: Identifier │ │ │ [<:] │ │ │ VAT :: Identifier │ │ │ [curly] │ │ │ Tuple :: Identifier │ │ │ [<:] │ │ │ [curly] │ │ │ AbstractVector :: Identifier │ │ │ [curly] │ │ │ Point :: Identifier │ │ │ Dim :: Identifier │ │ │ T :: Identifier │ │ │ [curly] │ │ │ Vararg :: Identifier │ │ │ VertexAttributeType :: Identifier │ │ │ [<:] │ │ │ FVT :: Identifier │ │ │ [curly] │ │ │ AbstractVector :: Identifier │ │ │ FT :: Identifier │ │ │ [curly] │ │ │ AbstractMesh :: Identifier │ │ │ Dim :: Identifier │ │ │ T :: Identifier │ │ │ [block] │ │ │ [::] │ │ │ vertex_attributes :: Identifier │ │ │ [curly] │ │ │ NamedTuple :: Identifier │ │ │ Names :: Identifier │ │ │ VAT :: Identifier │ │ │ [::] │ │ │ faces :: Identifier │ │ │ FVT :: Identifier │ │ │ [::] │ │ │ views :: Identifier │ │ │ [curly] │ │ │ Vector :: Identifier │ │ │ [curly] │ │ │ UnitRange :: Identifier │ │ │ UInt32 :: Identifier │ │ │ [function] │ │ │ [where] │ │ │ [call] │ │ │ Mesh :: Identifier │ │ │ [::] │ │ │ vertex_attributes :: Identifier │ │ │ [curly] │ │ │ NamedTuple :: Identifier │ │ │ Names :: Identifier │ │ │ VAT :: Identifier │ │ │ [::] │ │ │ fs :: Identifier │ │ │ FVT :: Identifier │ │ │ [kw] │ │ │ [::] │ │ │ views :: Identifier │ │ │ [curly] │ │ │ Vector :: Identifier │ │ │ [<:] │ │ │ [curly] │ │ │ UnitRange :: Identifier │ │ │ [<:] │ │ │ Integer :: Identifier │ │ │ [ref] │ │ │ [curly] │ │ │ UnitRange :: Identifier │ │ │ UInt32 :: Identifier │ │ │ [<:] │ │ │ FT :: Identifier │ │ │ AbstractFace :: Identifier │ │ │ [<:] │ │ │ FVT :: Identifier │ │ │ [curly] │ │ │ AbstractVector :: Identifier │ │ │ FT :: Identifier │ │ │ Names :: Identifier │ │ │ Dim :: Identifier │ │ │ T :: Identifier │ │ │ [<:] │ │ │ VAT :: Identifier │ │ │ [curly] │ │ │ Tuple :: Identifier │ │ │ [<:] │ │ │ [curly] │ │ │ AbstractVector :: Identifier │ │ │ [curly] │ │ │ Point :: Identifier │ │ │ Dim :: Identifier │ │ │ T :: Identifier │ │ │ [curly] │ │ │ Vararg :: Identifier │ │ │ VertexAttributeType :: Identifier │ │ │ [block] │ │ │ [=] │ │ │ va :: Identifier │ │ │ vertex_attributes :: Identifier │ │ │ [=] │ │ │ names :: Identifier │ │ │ Names :: Identifier │ │ │ [if] │ │ │ [call] │ │ │ ! :: Identifier │ │ │ [call] │ │ │ haskey :: Identifier │ │ │ va :: Identifier │ │ │ [inert] │ │ │ position :: Identifier │ │ │ [block] │ │ │ [call] │ │ │ error :: Identifier │ │ │ "Vertex attributes must have a :position attribute." :: Value │ │ │ [if] │ │ │ [call] │ │ │ haskey :: Identifier │ │ │ va :: Identifier │ │ │ [inert] │ │ │ normals :: Identifier │ │ │ [block] │ │ │ [macrocall] │ │ │ @warn :: Identifier │ │ │ :(#= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:533 =#) :: Value │ │ │ "`normals` as a vertex attribute name has been deprecated in favor of `normal` to bring it in line with mesh.position and mesh.uv" :: Value │ │ │ [=] │ │ │ names :: Identifier │ │ │ [call] │ │ │ ntuple :: Identifier │ │ │ [->] │ │ │ i :: Identifier │ │ │ [block] │ │ │ [call] │ │ │ ifelse :: Identifier │ │ │ [call] │ │ │ == :: Identifier │ │ │ [ref] │ │ │ names :: Identifier │ │ │ i :: Identifier │ │ │ [inert] │ │ │ normal :: Identifier │ │ │ [inert] │ │ │ normal :: Identifier │ │ │ [ref] │ │ │ names :: Identifier │ │ │ i :: Identifier │ │ │ [call] │ │ │ length :: Identifier │ │ │ names :: Identifier │ │ │ [=] │ │ │ va :: Identifier │ │ │ [call] │ │ │ [curly] │ │ │ NamedTuple :: Identifier │ │ │ names :: Identifier │ │ │ [call] │ │ │ values :: Identifier │ │ │ va :: Identifier │ │ │ [=] │ │ │ N :: Identifier │ │ │ [call] │ │ │ maximum :: Identifier │ │ │ [->] │ │ │ f :: Identifier │ │ │ [block] │ │ │ [call] │ │ │ value :: Identifier │ │ │ [call] │ │ │ maximum :: Identifier │ │ │ f :: Identifier │ │ │ fs :: Identifier │ │ │ [kw] │ │ │ init :: Identifier │ │ │ 0 :: Value │ │ │ [for] │ │ │ [=] │ │ │ [tuple] │ │ │ name :: Identifier │ │ │ attrib :: Identifier │ │ │ [call] │ │ │ pairs :: Identifier │ │ │ va :: Identifier │ │ │ [block] │ │ │ [if] │ │ │ [call] │ │ │ isa :: Identifier │ │ │ attrib :: Identifier │ │ │ FaceView :: Identifier │ │ │ [block] │ │ │ [try] │ │ │ [block] │ │ │ [call] │ │ │ verify :: Identifier │ │ │ fs :: Identifier │ │ │ attrib :: Identifier │ │ │ e :: Identifier │ │ │ [block] │ │ │ [call] │ │ │ rethrow :: Identifier │ │ │ [call] │ │ │ ErrorException :: Identifier │ │ │ [string] │ │ │ "Failed to verify " :: Value │ │ │ name :: Identifier │ │ │ " attribute:\n" :: Value │ │ │ [.] │ │ │ e :: Identifier │ │ │ [inert] │ │ │ msg :: Identifier │ │ │ [block] │ │ │ [&&] │ │ │ [call] │ │ │ < :: Identifier │ │ │ [call] │ │ │ length :: Identifier │ │ │ attrib :: Identifier │ │ │ N :: Identifier │ │ │ [call] │ │ │ error :: Identifier │ │ │ [string] │ │ │ "Failed to verify " :: Value │ │ │ name :: Identifier │ │ │ " attribute:\nFaces address " :: Value │ │ │ N :: Identifier │ │ │ " vertex attributes but only " :: Value │ │ │ [call] │ │ │ length :: Identifier │ │ │ attrib :: Identifier │ │ │ " are present." :: Value │ │ │ [return] │ │ │ [call] │ │ │ [curly] │ │ │ new :: Identifier │ │ │ Dim :: Identifier │ │ │ T :: Identifier │ │ │ FT :: Identifier │ │ │ names :: Identifier │ │ │ VAT :: Identifier │ │ │ FVT :: Identifier │ │ │ va :: Identifier │ │ │ fs :: Identifier │ │ │ views :: 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 │ │ [struct] │ │ │ false :: Value │ macro_source=256 │ │ [<:] │ scope_layer=1 │ │ [curly] │ │ │ Mesh :: Identifier │ scope_layer=1 │ │ Dim :: Identifier │ scope_layer=1 │ │ [<:] │ scope_layer=1 │ │ T :: Identifier │ scope_layer=1 │ │ Real :: Identifier │ scope_layer=1 │ │ [<:] │ scope_layer=1 │ │ FT :: Identifier │ scope_layer=1 │ │ AbstractFace :: Identifier │ scope_layer=1 │ │ Names :: Identifier │ scope_layer=1 │ │ [<:] │ scope_layer=1 │ │ VAT :: Identifier │ scope_layer=1 │ │ [curly] │ │ │ Tuple :: Identifier │ scope_layer=1 │ │ [<:] │ scope_layer=1 │ │ [curly] │ │ │ AbstractVector :: Identifier │ scope_layer=1 │ │ [curly] │ │ │ Point :: Identifier │ scope_layer=1 │ │ Dim :: Identifier │ scope_layer=1 │ │ T :: Identifier │ scope_layer=1 │ │ [curly] │ │ │ Vararg :: Identifier │ scope_layer=1 │ │ VertexAttributeType :: Identifier │ scope_layer=1 │ │ [<:] │ scope_layer=1 │ │ FVT :: Identifier │ scope_layer=1 │ │ [curly] │ │ │ AbstractVector :: Identifier │ scope_layer=1 │ │ FT :: Identifier │ scope_layer=1 │ │ [curly] │ │ │ AbstractMesh :: Identifier │ scope_layer=1 │ │ Dim :: Identifier │ scope_layer=1 │ │ T :: Identifier │ scope_layer=1 │ │ [block] │ │ │ [::] │ │ │ vertex_attributes :: Identifier │ scope_layer=1 │ │ [curly] │ │ │ NamedTuple :: Identifier │ scope_layer=1 │ │ Names :: Identifier │ scope_layer=1 │ │ VAT :: Identifier │ scope_layer=1 │ │ [::] │ │ │ faces :: Identifier │ scope_layer=1 │ │ FVT :: Identifier │ scope_layer=1 │ │ [::] │ │ │ views :: Identifier │ scope_layer=1 │ │ [curly] │ │ │ Vector :: Identifier │ scope_layer=1 │ │ [curly] │ │ │ UnitRange :: Identifier │ scope_layer=1 │ │ UInt32 :: Identifier │ scope_layer=1 │ │ [function] │ │ │ [where] │ │ │ [call] │ │ │ Mesh :: Identifier │ scope_layer=1 │ │ [::] │ │ │ vertex_attributes :: Identifier │ scope_layer=1 │ │ [curly] │ │ │ NamedTuple :: Identifier │ scope_layer=1 │ │ Names :: Identifier │ scope_layer=1 │ │ VAT :: Identifier │ scope_layer=1 │ │ [::] │ │ │ fs :: Identifier │ scope_layer=1 │ │ FVT :: Identifier │ scope_layer=1 │ │ [kw] │ │ │ [::] │ │ │ views :: Identifier │ scope_layer=1 │ │ [curly] │ │ │ Vector :: Identifier │ scope_layer=1 │ │ [<:] │ scope_layer=1 │ │ [curly] │ │ │ UnitRange :: Identifier │ scope_layer=1 │ │ [<:] │ scope_layer=1 │ │ Integer :: Identifier │ scope_layer=1 │ │ [ref] │ │ │ [curly] │ │ │ UnitRange :: Identifier │ scope_layer=1 │ │ UInt32 :: Identifier │ scope_layer=1 │ │ [<:] │ scope_layer=1 │ │ FT :: Identifier │ scope_layer=1 │ │ AbstractFace :: Identifier │ scope_layer=1 │ │ [<:] │ scope_layer=1 │ │ FVT :: Identifier │ scope_layer=1 │ │ [curly] │ │ │ AbstractVector :: Identifier │ scope_layer=1 │ │ FT :: Identifier │ scope_layer=1 │ │ Names :: Identifier │ scope_layer=1 │ │ Dim :: Identifier │ scope_layer=1 │ │ T :: Identifier │ scope_layer=1 │ │ [<:] │ scope_layer=1 │ │ VAT :: Identifier │ scope_layer=1 │ │ [curly] │ │ │ Tuple :: Identifier │ scope_layer=1 │ │ [<:] │ scope_layer=1 │ │ [curly] │ │ │ AbstractVector :: Identifier │ scope_layer=1 │ │ [curly] │ │ │ Point :: Identifier │ scope_layer=1 │ │ Dim :: Identifier │ scope_layer=1 │ │ T :: Identifier │ scope_layer=1 │ │ [curly] │ │ │ Vararg :: Identifier │ scope_layer=1 │ │ VertexAttributeType :: Identifier │ scope_layer=1 │ │ [block] │ │ │ [=] │ │ │ va :: Identifier │ scope_layer=1 │ │ vertex_attributes :: Identifier │ scope_layer=1 │ │ [=] │ │ │ names :: Identifier │ scope_layer=1 │ │ Names :: Identifier │ scope_layer=1 │ │ [if] │ │ │ [call] │ │ │ ! :: Identifier │ scope_layer=1 │ │ [call] │ │ │ haskey :: Identifier │ scope_layer=1 │ │ va :: Identifier │ scope_layer=1 │ │ [inert] │ │ │ position :: Identifier │ │ │ [block] │ │ │ [call] │ │ │ error :: Identifier │ scope_layer=1 │ │ "Vertex attributes must have a :position attribute." :: Value │ macro_source=256 │ │ [if] │ │ │ [call] │ │ │ haskey :: Identifier │ scope_layer=1 │ │ va :: Identifier │ scope_layer=1 │ │ [inert] │ │ │ normals :: Identifier │ │ │ [block] │ │ │ [block] │ │ │ [let] │ │ │ [block] │ macro_source=256 │ │ [block] │ │ │ [=] │ │ │ #7#level :: Identifier │ scope_layer=1 │ │ Warn :: Identifier │ mod,scope_layer=1 │ │ [=] │ │ │ #8#std_level :: Identifier │ scope_layer=1 │ │ #7#level :: Identifier │ scope_layer=1 │ │ [if] │ │ │ [call] │ │ │ >= :: Identifier │ mod,scope_layer=1 │ │ [.] │ │ │ #8#std_level :: Identifier │ scope_layer=1 │ │ [inert] │ │ │ level :: Identifier │ │ │ [ref] │ macro_source=256 │ │ Base.Threads.Atomic{Int32}(-1000) :: Value │ macro_source=256 │ │ [block] │ │ │ [=] │ │ │ #9#group :: Identifier │ scope_layer=1 │ │ [inert] │ │ │ basic_types :: Identifier │ │ │ [=] │ │ │ #10#_module :: Identifier │ scope_layer=1 │ │ GeometryBasics :: Value │ macro_source=256 │ │ [=] │ │ │ #11#logger :: Identifier │ scope_layer=1 │ │ [call] │ │ │ Base.CoreLogging.current_logger_for_env :: Value │ macro_source=256 │ │ #8#std_level :: Identifier │ scope_layer=1 │ │ #9#group :: Identifier │ scope_layer=1 │ │ #10#_module :: Identifier │ scope_layer=1 │ │ [if] │ │ │ [call] │ │ │ ! :: Identifier │ mod,scope_layer=1 │ │ [call] │ │ │ === :: Identifier │ mod,scope_layer=1 │ │ #11#logger :: Identifier │ scope_layer=1 │ │ nothing :: Identifier │ mod,scope_layer=1 │ │ [block] │ │ │ [=] │ │ │ #12#id :: Identifier │ scope_layer=1 │ │ [inert] │ │ │ GeometryBasics_1e57c75a :: Identifier │ │ │ [if] │ │ │ [call] │ │ │ invokelatest :: Identifier │ mod,scope_layer=1 │ │ Base.CoreLogging.shouldlog :: Value │ macro_source=256 │ │ #11#logger :: Identifier │ scope_layer=1 │ │ #7#level :: Identifier │ scope_layer=1 │ │ #10#_module :: Identifier │ scope_layer=1 │ │ #9#group :: Identifier │ scope_layer=1 │ │ #12#id :: Identifier │ scope_layer=1 │ │ [block] │ │ │ [=] │ │ │ #13#file :: Identifier │ scope_layer=1 │ │ "/home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl" :: Value │ macro_source=256 │ │ [if] │ │ │ [call] │ │ │ isa :: Identifier │ mod,scope_layer=1 │ │ #13#file :: Identifier │ scope_layer=1 │ │ String :: Identifier │ mod,scope_layer=1 │ │ [block] │ │ │ [=] │ │ │ #13#file :: Identifier │ scope_layer=1 │ │ [call] │ │ │ [.] │ │ │ Base :: Identifier │ mod,scope_layer=1 │ │ [inert] │ │ │ fixup_stdlib_path :: Identifier │ │ │ #13#file :: Identifier │ scope_layer=1 │ │ [=] │ │ │ #14#line :: Identifier │ scope_layer=1 │ │ 533 :: Value │ macro_source=256 │ │ [local] │ │ │ #15#msg :: Identifier │ scope_layer=1 │ │ #16#kwargs :: Identifier │ scope_layer=1 │ │ [if] │ │ │ [block] │ │ │ [=] │ │ │ #15#msg :: Identifier │ scope_layer=1 │ │ "`normals` as a vertex attribute name has been deprecated in favor of `normal` to bring it in line with mesh.position and mesh.uv" :: Value │ macro_source=256 │ │ [=] │ │ │ #16#kwargs :: Identifier │ scope_layer=1 │ │ [tuple] │ macro_source=256 │ │ [parameters] │ macro_source=256 │ │ true :: Value │ macro_source=256 │ │ [block] │ │ │ [if] │ │ │ [isdefined] │ │ │ #15#msg :: Identifier │ scope_layer=1 │ │ nothing :: Value │ macro_source=256 │ │ [call] │ │ │ throw :: Identifier │ mod,scope_layer=1 │ │ [call] │ │ │ AssertionError :: Identifier │ mod,scope_layer=1 │ │ "Assertion to tell the compiler about the definedness of this variable" :: Value │ macro_source=256 │ │ [if] │ │ │ [isdefined] │ │ │ #16#kwargs :: Identifier │ scope_layer=1 │ │ nothing :: Value │ macro_source=256 │ │ [call] │ │ │ throw :: Identifier │ mod,scope_layer=1 │ │ [call] │ │ │ AssertionError :: Identifier │ mod,scope_layer=1 │ │ "Assertion to tell the compiler about the definedness of this variable" :: Value │ macro_source=256 │ │ [call] │ │ │ Base.CoreLogging.handle_message_nothrow :: Value │ macro_source=256 │ │ [parameters] │ │ │ [...] │ │ │ #16#kwargs :: Identifier │ scope_layer=1 │ │ #11#logger :: Identifier │ scope_layer=1 │ │ #7#level :: Identifier │ scope_layer=1 │ │ #15#msg :: Identifier │ scope_layer=1 │ │ #10#_module :: Identifier │ scope_layer=1 │ │ #9#group :: Identifier │ scope_layer=1 │ │ #12#id :: Identifier │ scope_layer=1 │ │ #13#file :: Identifier │ scope_layer=1 │ │ #14#line :: Identifier │ scope_layer=1 │ │ nothing :: Identifier │ mod,scope_layer=1 │ │ [=] │ │ │ names :: Identifier │ scope_layer=1 │ │ [call] │ │ │ ntuple :: Identifier │ scope_layer=1 │ │ [->] │ │ │ i :: Identifier │ scope_layer=1 │ │ [block] │ │ │ [call] │ │ │ ifelse :: Identifier │ scope_layer=1 │ │ [call] │ │ │ == :: Identifier │ scope_layer=1 │ │ [ref] │ │ │ names :: Identifier │ scope_layer=1 │ │ i :: Identifier │ scope_layer=1 │ │ [inert] │ │ │ normal :: Identifier │ │ │ [inert] │ │ │ normal :: Identifier │ │ │ [ref] │ │ │ names :: Identifier │ scope_layer=1 │ │ i :: Identifier │ scope_layer=1 │ │ [call] │ │ │ length :: Identifier │ scope_layer=1 │ │ names :: Identifier │ scope_layer=1 │ │ [=] │ │ │ va :: Identifier │ scope_layer=1 │ │ [call] │ │ │ [curly] │ │ │ NamedTuple :: Identifier │ scope_layer=1 │ │ names :: Identifier │ scope_layer=1 │ │ [call] │ │ │ values :: Identifier │ scope_layer=1 │ │ va :: Identifier │ scope_layer=1 │ │ [=] │ │ │ N :: Identifier │ scope_layer=1 │ │ [call] │ │ │ maximum :: Identifier │ scope_layer=1 │ │ [->] │ │ │ f :: Identifier │ scope_layer=1 │ │ [block] │ │ │ [call] │ │ │ value :: Identifier │ scope_layer=1 │ │ [call] │ │ │ maximum :: Identifier │ scope_layer=1 │ │ f :: Identifier │ scope_layer=1 │ │ fs :: Identifier │ scope_layer=1 │ │ [kw] │ │ │ init :: Identifier │ scope_layer=1 │ │ 0 :: Value │ macro_source=256 │ │ [for] │ │ │ [=] │ │ │ [tuple] │ │ │ name :: Identifier │ scope_layer=1 │ │ attrib :: Identifier │ scope_layer=1 │ │ [call] │ │ │ pairs :: Identifier │ scope_layer=1 │ │ va :: Identifier │ scope_layer=1 │ │ [block] │ │ │ [if] │ │ │ [call] │ │ │ isa :: Identifier │ scope_layer=1 │ │ attrib :: Identifier │ scope_layer=1 │ │ FaceView :: Identifier │ scope_layer=1 │ │ [block] │ │ │ [try] │ │ │ [block] │ │ │ [call] │ │ │ verify :: Identifier │ scope_layer=1 │ │ fs :: Identifier │ scope_layer=1 │ │ attrib :: Identifier │ scope_layer=1 │ │ e :: Identifier │ scope_layer=1 │ │ [block] │ │ │ [call] │ │ │ rethrow :: Identifier │ scope_layer=1 │ │ [call] │ │ │ ErrorException :: Identifier │ scope_layer=1 │ │ [string] │ │ │ "Failed to verify " :: Value │ macro_source=256 │ │ name :: Identifier │ scope_layer=1 │ │ " attribute:\n" :: Value │ macro_source=256 │ │ [.] │ │ │ e :: Identifier │ scope_layer=1 │ │ [inert] │ │ │ msg :: Identifier │ │ │ [block] │ │ │ [&&] │ │ │ [call] │ │ │ < :: Identifier │ scope_layer=1 │ │ [call] │ │ │ length :: Identifier │ scope_layer=1 │ │ attrib :: Identifier │ scope_layer=1 │ │ N :: Identifier │ scope_layer=1 │ │ [call] │ │ │ error :: Identifier │ scope_layer=1 │ │ [string] │ │ │ "Failed to verify " :: Value │ macro_source=256 │ │ name :: Identifier │ scope_layer=1 │ │ " attribute:\nFaces address " :: Value │ macro_source=256 │ │ N :: Identifier │ scope_layer=1 │ │ " vertex attributes but only " :: Value │ macro_source=256 │ │ [call] │ │ │ length :: Identifier │ scope_layer=1 │ │ attrib :: Identifier │ scope_layer=1 │ │ " are present." :: Value │ macro_source=256 │ │ [return] │ │ │ [call] │ │ │ [curly] │ │ │ new :: Identifier │ scope_layer=1 │ │ Dim :: Identifier │ scope_layer=1 │ │ T :: Identifier │ scope_layer=1 │ │ FT :: Identifier │ scope_layer=1 │ │ names :: Identifier │ scope_layer=1 │ │ VAT :: Identifier │ scope_layer=1 │ │ FVT :: Identifier │ scope_layer=1 │ │ va :: Identifier │ scope_layer=1 │ │ fs :: Identifier │ scope_layer=1 │ │ views :: Identifier │ scope_layer=1 │ │ [call] │ │ │ Base.Docs.doc! :: Value │ macro_source=256 │ │ GeometryBasics :: Value │ macro_source=256 │ │ [call] │ │ │ Base.Docs.Binding :: Value │ macro_source=256 │ │ GeometryBasics :: Value │ │ │ [inert] │ jl_source=L65 │ │ Mesh :: Identifier │ │ │ [call] │ │ │ Base.Docs.docstr :: Value │ macro_source=256 │ │ [call] │ macro_source=256 │ │ Core.svec :: Value │ macro_source=256 │ │ " Mesh{PositionDim, PositionType, FaceType, VertexAttributeNames, VertexAttributeTypes, FaceVectorType} <: AbstractMesh{PositionDim, PositionType} <: AbstractGeometry{PositionDim, PositionType}\n\nThe type of a concrete mesh. The associated struct contains 3 fields:\n\n```julia\nstruct Mesh{...}\n vertex_attributes::NamedTuple{VertexAttributeNames, VertexAttributeTypes}\n faces::FaceVectorType\n views::Vector{UnitRange{Int}}\nend\n```\n\nA vertex typically carries multiple distinct pieces of data, e.g. a position,\na normal, a texture coordinate, etc. We call those pieces of data vertex\nattributes. The `vertex_attributes` field contains the name and a collection\n`<: AbstractVector` or `<: FaceView` for each attribute. The n-th element of that\ncollection is the value of the corresponding attribute for the n-th vertex.\n\n```julia\n# vertex 1 2 3\nvertex_attributes[:position] = [pos1, pos2, pos3, ...]\nvertex_attributes[:normal] = [normal1, normal2, normal3, ...]\n...\n```\n\nA `NamedTuple` is used here to allow different meshes to carry different vertex\nattributes while also keeping things type stable. The constructor enforces a\nfew restrictions:\n- The first attribute must be named `position` and must have a `Point{PositionDim, PositionType}` eltype.\n- Each vertex attribute must refer to the same number of vertices. (All vertex attributes defined by\nAbstractVector must match in length. For FaceViews, the number of faces needs to match.)\n\nSee also: [`vertex_attributes`](@ref), [`coordinates`](@ref), [`normals`](@ref),\n[`texturecoordinates`](@ref), [`decompose`](@ref), [`FaceView`](@ref),\n[`expand_faceviews`](@ref)\n\nThe `faces` field is a collection `<: AbstractVector{FaceType}` containing faces\nthat describe how vertices are connected. Typically these are `(GL)TriangleFace`s\nor `QuadFace`s, but they can be any collection of vertex indices `<: AbstractFace`.\n\nSee also: [`faces`](@ref), [`decompose`](@ref)\n\nThe `views` field can be used to separate the mesh into mutliple submeshes. Each\nsubmesh is described by a \"view\" into the `faces` vector, i.e. submesh n uses\n`mesh.faces[mesh.views[n]]`. A `Mesh` can be constructed without `views`, which\nresults in an empty `views` vector.\n\nSee also: [`merge`](@ref), [`split_mesh`](@ref)\n" :: Value │ macro_source=256 │ │ [call] │ │ │ Dict{Symbol, Any} :: Value │ macro_source=256 │ │ :path => "/home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl" :: Value │ macro_source=256 │ │ :linenumber => 453 :: Value │ macro_source=256 │ │ :module => GeometryBasics :: Value │ macro_source=256 │ │ [call] │ │ │ Pair :: Value │ macro_source=256 │ │ [inert] │ │ │ fields :: Identifier │ │ │ [call] │ macro_source=256 │ │ Dict{Symbol, Any} :: Value │ macro_source=256 │ │ [curly] │ │ │ Union :: Identifier │ scope_layer=1 │ │ val :: Identifier │ scope_layer=3 │ │ │ │ file = "/home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl" │ │ line = 453 │ └ mod = GeometryBasics │ ERROR: LoadError: internal lowering bug: │ #= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:515 =# - `jl_assert(!(haskey(ssa_rewrites, lhs_id)), _)`: multiple assignments to ssavalue │ Expression: │ (= #₂₆ (call core.TypeVar :#T1 #₂₈₉)) │ Containing expressions: │ (= #₂₆ (call core.TypeVar :#T1 #₂₈₉)) │ │ Detailed provenance: │ (= #₂₆ (call core.TypeVar :#T1 #₂₈₉)) @#= /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:366 =# │ └─ (= #₂₆ (call core.TypeVar :#T1 (call core.apply_type #₅₆/AbstractVector (call core.apply_type #₅₇/Point #₆₉/Dim #₇₀/T)))) @#= /source/usr/share/julia/JuliaLowering/src/closure_conversion.jl:197 =# │ └─ (= #₂₆ (call core.TypeVar :#T1 (call core.apply_type #₅₆/AbstractVector (call core.apply_type #₅₇/Point #₆₉/Dim #₇₀/T)))) @#= /source/usr/share/julia/JuliaLowering/src/desugaring.jl:231 =# │ └─ (= #₂₆ (call core.TypeVar :#T1 (call core.apply_type AbstractVector (call core.apply_type Point Dim T)))) @#= /source/usr/share/julia/JuliaLowering/src/desugaring.jl:231 =# │ └─ (= #₂₆ (call core.TypeVar :#T1 (curly AbstractVector (curly Point Dim T)))) │ └─ (call core.TypeVar :#T1 (curly AbstractVector (curly Point Dim T))) @#= /source/usr/share/julia/JuliaLowering/src/desugaring.jl:3025 =# │ └─ (<: (curly AbstractVector (curly Point Dim T))) │ └─ (<: (curly AbstractVector (curly Point Dim T))) │ └─ (<: (curly AbstractVector (curly Point Dim T))) │ └─ (<: (curly AbstractVector (curly Point Dim T))) │ ├─ @ /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:515 │ └─ (macrocall @doc :(#= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:453 =#) " Mesh{PositionDim, PositionType, FaceType, VertexAttributeNames, VertexAttributeTypes, FaceVectorType} <: AbstractMesh{PositionDim, PositionType} <: AbstractGeometry{PositionDim, PositionType}\n\nThe type of a concrete mesh. The associated struct contains 3 fields:\n\n```julia\nstruct Mesh{...}\n vertex_attributes::NamedTuple{VertexAttributeNames, VertexAttributeTypes}\n faces::FaceVectorType\n views::Vector{UnitRange{Int}}\nend\n```\n\nA vertex typically carries multiple distinct pieces of data, e.g. a position,\na normal, a texture coordinate, etc. We call those pieces of data vertex\nattributes. The `vertex_attributes` field contains the name and a collection\n`<: AbstractVector` or `<: FaceView` for each attribute. The n-th element of that\ncollection is the value of the corresponding attribute for the n-th vertex.\n\n```julia\n# vertex 1 2 3\nvertex_attributes[:position] = [pos1, pos2, pos3, ...]\nvertex_attributes[:normal] = [normal1, normal2, normal3, ...]\n...\n```\n\nA `NamedTuple` is used here to allow different meshes to carry different vertex\nattributes while also keeping things type stable. The constructor enforces a\nfew restrictions:\n- The first attribute must be named `position` and must have a `Point{PositionDim, PositionType}` eltype.\n- Each vertex attribute must refer to the same number of vertices. (All vertex attributes defined by\nAbstractVector must match in length. For FaceViews, the number of faces needs to match.)\n\nSee also: [`vertex_attributes`](@ref), [`coordinates`](@ref), [`normals`](@ref),\n[`texturecoordinates`](@ref), [`decompose`](@ref), [`FaceView`](@ref),\n[`expand_faceviews`](@ref)\n\nThe `faces` field is a collection `<: AbstractVector{FaceType}` containing faces\nthat describe how vertices are connected. Typically these are `(GL)TriangleFace`s\nor `QuadFace`s, but they can be any collection of vertex indices `<: AbstractFace`.\n\nSee also: [`faces`](@ref), [`decompose`](@ref)\n\nThe `views` field can be used to separate the mesh into mutliple submeshes. Each\nsubmesh is described by a \"view\" into the `faces` vector, i.e. submesh n uses\n`mesh.faces[mesh.views[n]]`. A `Mesh` can be constructed without `views`, which\nresults in an empty `views` vector.\n\nSee also: [`merge`](@ref), [`split_mesh`](@ref)\n" (struct false (<: (curly Mesh Dim (<: T Real) (<: FT AbstractFace) Names (<: VAT (curly Tuple (<: (curly AbstractVector (curly Point Dim T))) (curly Vararg VertexAttributeType))) (<: FVT (curly AbstractVector FT))) (curly AbstractMesh Dim T)) (block (:: vertex_attributes (curly NamedTuple Names VAT)) (:: faces FVT) (:: views (curly Vector (curly UnitRange UInt32))) (function (where (call Mesh (:: vertex_attributes (curly NamedTuple Names VAT)) (:: fs FVT) (kw (:: views (curly Vector (<: (curly UnitRange (<: Integer))))) (ref (curly UnitRange UInt32)))) (<: FT AbstractFace) (<: FVT (curly AbstractVector FT)) Names Dim T (<: VAT (curly Tuple (<: (curly AbstractVector (curly Point Dim T))) (curly Vararg VertexAttributeType)))) (block (= va vertex_attributes) (= names Names) (if (call ! (call haskey va (inert position))) (block (call error "Vertex attributes must have a :position attribute."))) (if (call haskey va (inert normals)) (block (macrocall @warn :(#= /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:533 =#) "`normals` as a vertex attribute name has been deprecated in favor of `normal` to bring it in line with mesh.position and mesh.uv") (= names (call ntuple (-> i (block (call ifelse (call == (ref names i) (inert normal)) (inert normal) (ref names i)))) (call length names))) (= va (call (curly NamedTuple names) (call values va))))) (= N (call maximum (-> f (block (call value (call maximum f)))) fs (kw init 0))) (for (= (tuple name attrib) (call pairs va)) (block (if (call isa attrib FaceView) (block (try (block (call verify fs attrib)) e (block (call rethrow (call ErrorException (string "Failed to verify " name " attribute:\n" (. e (inert msg)))))))) (block (&& (call < (call length attrib) N) (call error (string "Failed to verify " name " attribute:\nFaces address " N " vertex attributes but only " (call length attrib) " are present."))))))) (return (call (curly new Dim T FT names VAT FVT) va fs views))))))) │ └─ @ /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/basic_types.jl:453 │ │ Stacktrace: │ [1] iterate(A::Base.JuliaSyntax.SyntaxList{Dict{Symbol, Dict{Int64, Any}}, Vector{Int64}}) │ @ Base /source/usr/share/julia/JuliaLowering/src/ast.jl:23 [inlined] │ [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:1106 │ [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:1223 │ [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:1253 │ [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:327 │ [7] top-level scope │ @ ~/.julia/packages/GeometryBasics/yB1f1/src/GeometryBasics.jl:12 │ [8] include(mod::Module, _path::String) │ @ Base ./Base.jl:326 │ [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:3271 │ [10] top-level scope │ @ stdin:5 │ [11] eval(m::Module, e::Any) │ @ Core ./boot.jl:517 │ [12] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) │ @ Base ./loading.jl:3113 │ [13] push!(a::Vector{SubString{String}}, item::String) │ @ Base ./loading.jl:3123 [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/GeometryBasics/yB1f1/src/basic_types.jl:453 │ in expression starting at /home/pkgeval/.julia/packages/GeometryBasics/yB1f1/src/GeometryBasics.jl:1 │ in expression starting at stdin:5 └ ┌ ConcurrentUtilities │ ┌ Info: JuliaLowering threw given input: │ │ code = │ │ :(mutable struct Worker │ │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:35 =# │ │ lock::ReentrantLock │ │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:36 =# │ │ pid::Int │ │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:37 =# │ │ process::Base.Process │ │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:38 =# │ │ server::Sockets.PipeServer │ │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:39 =# │ │ pipe::Base.PipeEndpoint │ │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:40 =# │ │ messages::Task │ │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:41 =# │ │ output::Task │ │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:42 =# │ │ process_watch::Task │ │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:43 =# │ │ worksubmission::Task │ │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:44 =# │ │ workqueue::Channel{Tuple{Request, FutureResult}} │ │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:45 =# │ │ futures::Dict{UInt64, FutureResult} │ │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:46 =# │ │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:46 =# @static if VERSION < v"1.7" │ │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:47 =# │ │ terminated::Threads.Atomic{Bool} │ │ else │ │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:49 =# │ │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:49 =# @atomic terminated::Bool │ │ end │ │ 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__ │ │ [struct] │ │ │ true :: Value │ │ │ Worker :: Identifier │ │ │ [block] │ │ │ [::] │ │ │ lock :: Identifier │ │ │ ReentrantLock :: Identifier │ │ │ [::] │ │ │ pid :: Identifier │ │ │ Int :: Identifier │ │ │ [::] │ │ │ process :: Identifier │ │ │ [.] │ │ │ Base :: Identifier │ │ │ [inert] │ │ │ Process :: Identifier │ │ │ [::] │ │ │ server :: Identifier │ │ │ [.] │ │ │ Sockets :: Identifier │ │ │ [inert] │ │ │ PipeServer :: Identifier │ │ │ [::] │ │ │ pipe :: Identifier │ │ │ [.] │ │ │ Base :: Identifier │ │ │ [inert] │ │ │ PipeEndpoint :: Identifier │ │ │ [::] │ │ │ messages :: Identifier │ │ │ Task :: Identifier │ │ │ [::] │ │ │ output :: Identifier │ │ │ Task :: Identifier │ │ │ [::] │ │ │ process_watch :: Identifier │ │ │ Task :: Identifier │ │ │ [::] │ │ │ worksubmission :: Identifier │ │ │ Task :: Identifier │ │ │ [::] │ │ │ workqueue :: Identifier │ │ │ [curly] │ │ │ Channel :: Identifier │ │ │ [curly] │ │ │ Tuple :: Identifier │ │ │ Request :: Identifier │ │ │ FutureResult :: Identifier │ │ │ [::] │ │ │ futures :: Identifier │ │ │ [curly] │ │ │ Dict :: Identifier │ │ │ UInt64 :: Identifier │ │ │ FutureResult :: Identifier │ │ │ [macrocall] │ │ │ @static :: Identifier │ │ │ :(#= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:46 =#) :: Value │ │ │ [if] │ │ │ [call] │ │ │ < :: Identifier │ │ │ VERSION :: Identifier │ │ │ [macrocall] │ │ │ @v_str :: Identifier │ │ │ :(#= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:46 =#) :: Value │ │ │ "1.7" :: Value │ │ │ [block] │ │ │ [::] │ │ │ terminated :: Identifier │ │ │ [curly] │ │ │ [.] │ │ │ Threads :: Identifier │ │ │ [inert] │ │ │ Atomic :: Identifier │ │ │ Bool :: Identifier │ │ │ [block] │ │ │ [macrocall] │ │ │ @atomic :: Identifier │ │ │ :(#= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:49 =#) :: Value │ │ │ [::] │ │ │ terminated :: Identifier │ │ │ Bool :: 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 │ │ [struct] │ │ │ true :: Value │ │ │ Worker :: Identifier │ scope_layer=1 │ │ [block] │ │ │ [::] │ │ │ lock :: Identifier │ scope_layer=1 │ │ ReentrantLock :: Identifier │ scope_layer=1 │ │ [::] │ │ │ pid :: Identifier │ scope_layer=1 │ │ Int :: Identifier │ scope_layer=1 │ │ [::] │ │ │ process :: Identifier │ scope_layer=1 │ │ [.] │ │ │ Base :: Identifier │ scope_layer=1 │ │ [inert] │ │ │ Process :: Identifier │ │ │ [::] │ │ │ server :: Identifier │ scope_layer=1 │ │ [.] │ │ │ Sockets :: Identifier │ scope_layer=1 │ │ [inert] │ │ │ PipeServer :: Identifier │ │ │ [::] │ │ │ pipe :: Identifier │ scope_layer=1 │ │ [.] │ │ │ Base :: Identifier │ scope_layer=1 │ │ [inert] │ │ │ PipeEndpoint :: Identifier │ │ │ [::] │ │ │ messages :: Identifier │ scope_layer=1 │ │ Task :: Identifier │ scope_layer=1 │ │ [::] │ │ │ output :: Identifier │ scope_layer=1 │ │ Task :: Identifier │ scope_layer=1 │ │ [::] │ │ │ process_watch :: Identifier │ scope_layer=1 │ │ Task :: Identifier │ scope_layer=1 │ │ [::] │ │ │ worksubmission :: Identifier │ scope_layer=1 │ │ Task :: Identifier │ scope_layer=1 │ │ [::] │ │ │ workqueue :: Identifier │ scope_layer=1 │ │ [curly] │ │ │ Channel :: Identifier │ scope_layer=1 │ │ [curly] │ │ │ Tuple :: Identifier │ scope_layer=1 │ │ Request :: Identifier │ scope_layer=1 │ │ FutureResult :: Identifier │ scope_layer=1 │ │ [::] │ │ │ futures :: Identifier │ scope_layer=1 │ │ [curly] │ │ │ Dict :: Identifier │ scope_layer=1 │ │ UInt64 :: Identifier │ scope_layer=1 │ │ FutureResult :: Identifier │ scope_layer=1 │ │ [block] │ │ │ [atomic] │ │ │ [::] │ │ │ terminated :: Identifier │ scope_layer=1 │ │ Bool :: Identifier │ scope_layer=1 │ │ │ │ file = "/home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl" │ │ line = 34 │ └ mod = ConcurrentUtilities.Workers │ ERROR: LoadError: LoweringError: │ #= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:49 =# - unimplemented or unsupported `atomic` declaration │ Expression: │ (atomic (:: terminated Bool)) │ Containing expressions: │ (struct true Worker (block (:: lock ReentrantLock) (:: pid Int) (:: process (. Base (inert Process))) (:: server (. Sockets (inert PipeServer))) (:: pipe (. Base (inert PipeEndpoint))) (:: messages Task) (:: output Task) (:: process_watch Task) (:: worksubmission Task) (:: workqueue (curly Channel (curly Tuple Request FutureResult))) (:: futures (curly Dict UInt64 FutureResult)) (block (atomic (:: terminated Bool))))) │ │ Detailed provenance: │ (atomic (:: terminated Bool)) │ └─ (atomic (:: terminated Bool)) │ ├─ @ /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:49 │ └─ (macrocall @atomic :(#= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:49 =#) (:: terminated Bool)) │ ├─ @ /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:49 │ └─ (macrocall @static :(#= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:46 =#) (if (call < VERSION (macrocall @v_str :(#= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:46 =#) "1.7")) (block (:: terminated (curly (. Threads (inert Atomic)) Bool))) (block (macrocall @atomic :(#= /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:49 =#) (:: terminated Bool))))) │ └─ @ /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:46 │ │ Stacktrace: │ [1] 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:4467 │ [2] 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:30 │ [3] include(mapexpr::Function, mod::Module, _path::String) │ @ Base ./Base.jl:327 │ [4] top-level scope │ @ ~/.julia/packages/ConcurrentUtilities/hQBsU/src/ConcurrentUtilities.jl:17 │ [5] include(mod::Module, _path::String) │ @ Base ./Base.jl:326 │ [6] 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 │ [7] top-level scope │ @ stdin:5 │ [8] eval(m::Module, e::Any) │ @ Core ./boot.jl:517 │ [9] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) │ @ Base ./loading.jl:3113 │ [10] push!(a::Vector{SubString{String}}, item::String) │ @ Base ./loading.jl:3123 [inlined] │ [11] exec_options(opts::Base.JLOptions) │ @ Base ./client.jl:353 │ [12] _start() │ @ Base ./client.jl:596 │ in expression starting at /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/workers.jl:1 │ in expression starting at /home/pkgeval/.julia/packages/ConcurrentUtilities/hQBsU/src/ConcurrentUtilities.jl:1 │ in expression starting at stdin:5 └ ┌ MeshCat │ [Output was shown above] └ ERROR: The following 4 packages failed to precompile: HTTP Failed to precompile HTTP [cd3eb016-35fb-5094-929b-558a96fad6f3] to "/home/pkgeval/.julia/compiled/v1.14/HTTP/jl_NRkQcO" (ProcessExited(1)). GeometryBasics Failed to precompile GeometryBasics [5c1252a2-5f33-56bf-86c9-59e7332b4326] to "/home/pkgeval/.julia/compiled/v1.14/GeometryBasics/jl_GHjbG5" (ProcessExited(1)). ConcurrentUtilities Failed to precompile ConcurrentUtilities [f0e56b4a-5159-44fe-b623-3e5288b988bb] to "/home/pkgeval/.julia/compiled/v1.14/ConcurrentUtilities/jl_rrynJd" (ProcessExited(1)). MeshCat Failed to precompile MeshCat [283c5d60-a78f-5afe-a0af-af636b173e11] to "/home/pkgeval/.julia/compiled/v1.14/MeshCat/jl_WuxsbS" (ProcessExited(1)). Loading failed after 415.52s ERROR: LoadError: failed process: Process(`/opt/julia/bin/julia -C native -J/opt/julia/lib/julia/sys.so -g1 --check-bounds=yes --inline=yes --check-bounds=yes --pkgimages=existing -e 'using MeshCat'`, ProcessExited(1)) [1] Stacktrace: [1] spawn_opts_inherit() @ Base ./process.jl:612 [inlined] [2] run(::Cmd; wait::Bool) @ Base ./process.jl:525 [3] run(::Cmd) @ Base ./process.jl:522 [4] top-level scope @ /PkgEval.jl/scripts/evaluate.jl:197 [5] include(mod::Module, _path::String) @ Base ./Base.jl:326 [6] exec_options(opts::Base.JLOptions) @ Base ./client.jl:355 [7] _start() @ Base ./client.jl:596 in expression starting at /PkgEval.jl/scripts/evaluate.jl:188 PkgEval failed after 2572.65s: package fails to precompile