Package evaluation to test DynamicExpressions on Julia 1.10.10 (df86fe4d49*) started at 2026-02-04T05:22:30.395 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.10` Set-up completed after 3.48s ################################################################################ # Installation # Installing DynamicExpressions... Resolving package versions... Installed DynamicExpressions ─ v2.5.0 Updating `~/.julia/environments/v1.10/Project.toml` [a40a106e] + DynamicExpressions v2.5.0 Updating `~/.julia/environments/v1.10/Manifest.toml` [d360d2e6] + ChainRulesCore v1.26.0 [34da2185] + Compat v4.18.1 [8d63f2c5] + DispatchDoctor v0.4.28 [a40a106e] + DynamicExpressions v2.5.0 [85a1e053] + Interfaces v0.3.2 [1914dd2f] + MacroTools v0.5.16 ⌅ [aea7be01] + PrecompileTools v1.2.1 [21216c6a] + Preferences v1.5.1 [189a3867] + Reexport v1.2.2 [56f22d72] + Artifacts [ade2ca70] + Dates [8f399da3] + Libdl [37e2e46d] + LinearAlgebra [de0858da] + Printf [9a3f8284] + Random [ea8e919c] + SHA v0.7.0 [fa267f1f] + TOML v1.0.3 [cf7118a7] + UUIDs [4ec0a83e] + Unicode [e66e0078] + CompilerSupportLibraries_jll v1.1.1+0 [4536629a] + OpenBLAS_jll v0.3.23+5 [8e850b90] + libblastrampoline_jll v5.11.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 6.85s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling packages... 821.0 ms ✓ TestEnv 1 dependency successfully precompiled in 3 seconds Precompiling package dependencies... Precompiling packages... 959.5 ms ✓ Combinatorics 576.6 ms ✓ AbstractFFTs 500.5 ms ✓ PositiveFactorizations 459.8 ms ✓ ExprTools 389.3 ms ✓ IteratorInterfaceExtensions 437.9 ms ✓ StatsAPI 693.0 ms ✓ ADTypes 2251.9 ms ✓ ExproniconLite 928.2 ms ✓ OffsetArrays 411.0 ms ✓ Suppressor 413.9 ms ✓ UnPack 1089.4 ms ✓ FillArrays 493.9 ms ✓ InverseFunctions 9481.4 ms ✓ JuliaSyntax 444.6 ms ✓ CompilerSupportLibraries_jll 2034.6 ms ✓ MacroTools 377.3 ms ✓ SafeTestsets 464.5 ms ✓ ManualMemory 568.7 ms ✓ Preferences 593.7 ms ✓ Compat 633.9 ms ✓ OrderedCollections 525.0 ms ✓ Requires 385.0 ms ✓ DataValueInterfaces 429.5 ms ✓ EnumX 399.9 ms ✓ RealDot 413.6 ms ✓ WeakCacheSets 392.6 ms ✓ Reexport 380.1 ms ✓ SIMDTypes 577.8 ms ✓ DocStringExtensions 608.5 ms ✓ AbstractTrees 1138.1 ms ✓ IrrationalConstants 425.4 ms ✓ CompositionsBase 384.1 ms ✓ TestItems 497.4 ms ✓ Interfaces 400.5 ms ✓ PtrArrays 456.9 ms ✓ HashArrayMappedTries 391.2 ms ✓ TaskLocalValues 504.1 ms ✓ NaNMath 654.6 ms ✓ CpuId 787.2 ms ✓ RequiredInterfaces 404.1 ms ✓ ReadOnlyArrays 395.5 ms ✓ IfElse 498.3 ms ✓ ConstructionBase 400.3 ms ✓ CommonWorldInvalidations 434.4 ms ✓ DataAPI 448.0 ms ✓ TermInterface 741.4 ms ✓ CodeTracking 384.4 ms ✓ SciMLPublic 485.3 ms ✓ StaticArraysCore 679.1 ms ✓ SuiteSparse 4908.7 ms ✓ MutableArithmetics 1003.8 ms ✓ Statistics 1551.6 ms ✓ AbstractFFTs → AbstractFFTsTestExt 676.2 ms ✓ RuntimeGeneratedFunctions 533.2 ms ✓ TableTraits 1169.1 ms ✓ DifferentiationInterface 1412.2 ms ✓ Jieko 818.7 ms ✓ FillArrays → FillArraysSparseArraysExt 419.2 ms ✓ InverseFunctions → InverseFunctionsDatesExt 990.1 ms ✓ CommonSubexpressions 2518.2 ms ✓ IRTools 869.4 ms ✓ ThreadingUtilities 540.2 ms ✓ JLLWrappers 452.1 ms ✓ PrecompileTools 1836.1 ms ✓ DispatchDoctor 408.6 ms ✓ Compat → CompatLinearAlgebraExt 1838.7 ms ✓ DataStructures 442.1 ms ✓ Adapt 761.3 ms ✓ LogExpFunctions 9559.7 ms ✓ TestItemRunner 474.2 ms ✓ AliasTables 435.0 ms ✓ ScopedValues 418.7 ms ✓ ConstructionBase → ConstructionBaseLinearAlgebraExt 473.7 ms ✓ Missings 5081.2 ms ✓ JuliaInterpreter 442.4 ms ✓ DiffResults 696.2 ms ✓ SparseInverseSubset 848.4 ms ✓ Tables 752.6 ms ✓ DifferentiationInterface → DifferentiationInterfaceSparseArraysExt 7930.5 ms ✓ Moshi 792.1 ms ✓ FillArrays → FillArraysStatisticsExt 652.2 ms ✓ InverseFunctions → InverseFunctionsTestExt 420.8 ms ✓ CompositionsBase → CompositionsBaseInverseFunctionsExt 569.5 ms ✓ OpenSpecFun_jll 6930.3 ms ✓ StaticArrays 7654.5 ms ✓ StyledStrings 837.4 ms ✓ Static 1200.3 ms ✓ ChainRulesCore 1437.9 ms ✓ Aqua 2097.3 ms ✓ MultivariatePolynomials 518.9 ms ✓ SortingAlgorithms 693.9 ms ✓ Adapt → AdaptSparseArraysExt 556.2 ms ✓ ArrayInterface 473.4 ms ✓ GPUArraysCore 446.3 ms ✓ OffsetArrays → OffsetArraysAdaptExt 461.8 ms ✓ LogExpFunctions → LogExpFunctionsInverseFunctionsExt 407.2 ms ✓ ADTypes → ADTypesConstructionBaseExt 1243.3 ms ✓ Setfield 6251.6 ms ✓ LoweredCodeUtils 839.4 ms ✓ StructArrays 2260.8 ms ✓ Accessors 2615.9 ms ✓ SpecialFunctions 1089.2 ms ✓ StaticArrays → StaticArraysStatisticsExt 817.6 ms ✓ FillArrays → FillArraysStaticArraysExt 764.2 ms ✓ ConstructionBase → ConstructionBaseStaticArraysExt 775.9 ms ✓ DifferentiationInterface → DifferentiationInterfaceStaticArraysExt 849.5 ms ✓ Adapt → AdaptStaticArraysExt 11165.2 ms ✓ Supposition 409.5 ms ✓ BitTwiddlingConvenienceFunctions 845.8 ms ✓ CPUSummary 731.0 ms ✓ ChainRulesCore → ChainRulesCoreSparseArraysExt 1209.2 ms ✓ ZygoteRules 456.0 ms ✓ AbstractFFTs → AbstractFFTsChainRulesCoreExt 450.4 ms ✓ ADTypes → ADTypesChainRulesCoreExt 682.4 ms ✓ DispatchDoctor → DispatchDoctorChainRulesCoreExt 1471.1 ms ✓ LogExpFunctions → LogExpFunctionsChainRulesCoreExt 777.8 ms ✓ StaticArrays → StaticArraysChainRulesCoreExt 1815.0 ms ✓ DynamicPolynomials 2283.1 ms ✓ StatsBase 1268.2 ms ✓ StaticArrayInterface 693.9 ms ✓ ArrayInterface → ArrayInterfaceSparseArraysExt 429.7 ms ✓ ArrayInterface → ArrayInterfaceChainRulesCoreExt 426.3 ms ✓ ArrayInterface → ArrayInterfaceStaticArraysCoreExt 415.7 ms ✓ DifferentiationInterface → DifferentiationInterfaceGPUArraysCoreExt 383.8 ms ✓ ArrayInterface → ArrayInterfaceGPUArraysCoreExt 19273.9 ms ✓ JET 519.8 ms ✓ StructArrays → StructArraysLinearAlgebraExt 896.6 ms ✓ Accessors → LinearAlgebraExt 616.6 ms ✓ DiffRules 853.8 ms ✓ HostCPUFeatures 581.2 ms ✓ PolyesterWeave 2118.3 ms ✓ MultivariatePolynomials → MultivariatePolynomialsChainRulesCoreExt 486.9 ms ✓ DifferentiationInterface → DifferentiationInterfaceChainRulesCoreExt 23372.4 ms ✓ DynamicExpressions 1601.5 ms ✓ SpecialFunctions → SpecialFunctionsChainRulesCoreExt 447.7 ms ✓ StaticArrayInterface → StaticArrayInterfaceOffsetArraysExt 448.2 ms ✓ CloseOpenIntervals 547.5 ms ✓ LayoutPointers 619.2 ms ✓ FiniteDiff 752.3 ms ✓ StaticArrayInterface → StaticArrayInterfaceStaticArraysExt 415.6 ms ✓ StructArrays → StructArraysAdaptExt 723.2 ms ✓ StructArrays → StructArraysSparseArraysExt 773.4 ms ✓ StructArrays → StructArraysStaticArraysExt 521.6 ms ✓ Accessors → StructArraysExt 641.1 ms ✓ Accessors → TestExt 825.6 ms ✓ Accessors → StaticArraysExt 1527.9 ms ✓ SymbolicIndexingInterface 3166.4 ms ✓ ForwardDiff 6233.1 ms ✓ VectorizationBase 872.5 ms ✓ StrideArraysCore 644.7 ms ✓ FiniteDiff → FiniteDiffSparseArraysExt 670.7 ms ✓ FiniteDiff → FiniteDiffStaticArraysExt 487.9 ms ✓ DifferentiationInterface → DifferentiationInterfaceFiniteDiffExt 5310.9 ms ✓ ChainRules 62754.0 ms ✓ SymbolicUtils 827.0 ms ✓ ForwardDiff → ForwardDiffStaticArraysExt 682.0 ms ✓ DifferentiationInterface → DifferentiationInterfaceForwardDiffExt 1033.2 ms ✓ SLEEFPirates 565.7 ms ✓ Bumper 24551.6 ms ✓ Zygote 901.9 ms ✓ ArrayInterface → ArrayInterfaceChainRulesExt 3684.2 ms ✓ SymbolicUtils → SymbolicUtilsChainRulesCoreExt 927.9 ms ✓ NLSolversBase 14726.2 ms ✓ LoopVectorization 1267.4 ms ✓ DynamicExpressions → DynamicExpressionsBumperExt 1849.2 ms ✓ DifferentiationInterface → DifferentiationInterfaceZygoteExt 2415.3 ms ✓ DynamicExpressions → DynamicExpressionsZygoteExt 4402.8 ms ✓ DynamicExpressions → DynamicExpressionsSymbolicUtilsExt 1030.4 ms ✓ LineSearches 1079.6 ms ✓ LoopVectorization → SpecialFunctionsExt 4808.1 ms ✓ DynamicExpressions → DynamicExpressionsLoopVectorizationExt 2758.6 ms ✓ Optim 1256.3 ms ✓ LoopVectorization → ForwardDiffExt 1876.0 ms ✓ DynamicExpressions → DynamicExpressionsOptimExt 174 dependencies successfully precompiled in 368 seconds. 5 already precompiled. 1 dependency had output during precompilation: ┌ JET │ ┌ Warning: `@lookup(mod, frame, node)` at /home/pkgeval/.julia/packages/JET/sQkqi/src/toplevel/virtualprocess.jl:1321 is deprecated, use `lookup(frame, node)` instead. │ └ @ JuliaInterpreter ~/.julia/packages/JuliaInterpreter/ZNccU/src/interpret.jl:46 └ Precompilation completed after 377.58s ################################################################################ # Testing # Testing DynamicExpressions Status `/tmp/jl_YJCMJX/Project.toml` [4c88cf16] Aqua v0.8.14 ⌃ [8ce10254] Bumper v0.6.0 [d360d2e6] ChainRulesCore v1.26.0 [34da2185] Compat v4.18.1 [a0c0ee7d] DifferentiationInterface v0.7.16 [8d63f2c5] DispatchDoctor v0.4.28 [a40a106e] DynamicExpressions v2.5.0 [f6369f11] ForwardDiff v1.3.2 [85a1e053] Interfaces v0.3.2 ⌅ [c3a54625] JET v0.9.18 [bdcacae8] LoopVectorization v0.12.173 ⌃ [429524aa] Optim v1.13.3 [21216c6a] Preferences v1.5.1 [1bc83da4] SafeTestsets v0.1.0 [276daf66] SpecialFunctions v2.6.1 [90137ffa] StaticArrays v1.9.16 [5a0628fe] Supposition v0.3.5 [fd094767] Suppressor v0.2.8 [d1185830] SymbolicUtils v4.17.0 [f8b46487] TestItemRunner v1.1.4 [1c621080] TestItems v1.0.0 [e88e6eb3] Zygote v0.7.10 [37e2e46d] LinearAlgebra [9a3f8284] Random [8dfed614] Test Status `/tmp/jl_YJCMJX/Manifest.toml` [47edcb42] ADTypes v1.21.0 [621f4979] AbstractFFTs v1.5.0 [1520ce14] AbstractTrees v0.4.5 [7d9f7c33] Accessors v0.1.43 [79e6a3ab] Adapt v4.4.0 [66dad0bd] AliasTables v1.1.3 [4c88cf16] Aqua v0.8.14 [4fba245c] ArrayInterface v7.22.0 [62783981] BitTwiddlingConvenienceFunctions v0.1.6 ⌃ [8ce10254] Bumper v0.6.0 [2a0fbf3d] CPUSummary v0.2.7 [082447d4] ChainRules v1.72.6 [d360d2e6] ChainRulesCore v1.26.0 [fb6a15b2] CloseOpenIntervals v0.1.13 ⌅ [da1fd8a2] CodeTracking v1.3.9 ⌅ [861a8166] Combinatorics v1.0.2 [bbf7d656] CommonSubexpressions v0.3.1 [f70d9fcc] CommonWorldInvalidations v1.0.0 [34da2185] Compat v4.18.1 [a33af91c] CompositionsBase v0.1.2 [187b0558] ConstructionBase v1.6.0 [adafc99b] CpuId v0.3.1 [9a962f9c] DataAPI v1.16.0 [864edb3b] DataStructures v0.19.3 [e2d170a0] DataValueInterfaces v1.0.0 [163ba53b] DiffResults v1.1.0 [b552c78f] DiffRules v1.15.1 [a0c0ee7d] DifferentiationInterface v0.7.16 [8d63f2c5] DispatchDoctor v0.4.28 [ffbed154] DocStringExtensions v0.9.5 [a40a106e] DynamicExpressions v2.5.0 [7c1d4256] DynamicPolynomials v0.6.4 [4e289a0a] EnumX v1.0.6 [e2ba6199] ExprTools v0.1.10 [55351af7] ExproniconLite v0.10.14 [1a297f60] FillArrays v1.16.0 [6a86dc24] FiniteDiff v2.29.0 [f6369f11] ForwardDiff v1.3.2 [46192b85] GPUArraysCore v0.2.0 [076d061b] HashArrayMappedTries v0.2.0 [3e5b6fbb] HostCPUFeatures v0.1.18 [7869d1d1] IRTools v0.4.15 [615f187c] IfElse v0.1.1 [85a1e053] Interfaces v0.3.2 [3587e190] InverseFunctions v0.1.17 [92d709cd] IrrationalConstants v0.2.6 [82899510] IteratorInterfaceExtensions v1.0.0 ⌅ [c3a54625] JET v0.9.18 [692b3bcd] JLLWrappers v1.7.1 [ae98c720] Jieko v0.2.1 ⌅ [aa1ae85d] JuliaInterpreter v0.9.46 ⌅ [70703baa] JuliaSyntax v0.4.10 [10f19ff3] LayoutPointers v0.1.17 ⌃ [d3d80556] LineSearches v7.5.1 [2ab3a3ac] LogExpFunctions v0.3.29 [bdcacae8] LoopVectorization v0.12.173 ⌃ [6f1432cf] LoweredCodeUtils v3.2.2 [1914dd2f] MacroTools v0.5.16 [d125e4d3] ManualMemory v0.1.8 [e1d29d7a] Missings v1.2.0 [2e0e35c7] Moshi v0.3.7 [102ac46a] MultivariatePolynomials v0.5.13 [d8a4904e] MutableArithmetics v1.6.7 ⌅ [d41bc354] NLSolversBase v7.10.0 [77ba4419] NaNMath v1.1.3 [6fe1bfb0] OffsetArrays v1.17.0 ⌃ [429524aa] Optim v1.13.3 [bac558e1] OrderedCollections v1.8.1 [1d0040c9] PolyesterWeave v0.2.2 [85a6dd25] PositiveFactorizations v0.2.4 ⌅ [aea7be01] PrecompileTools v1.2.1 [21216c6a] Preferences v1.5.1 [43287f4e] PtrArrays v1.3.0 [988b38a3] ReadOnlyArrays v0.2.0 [c1ae055f] RealDot v0.1.0 [189a3867] Reexport v1.2.2 [97f35ef4] RequiredInterfaces v0.1.7 [ae029012] Requires v1.3.1 [7e49a35a] RuntimeGeneratedFunctions v0.5.17 [94e857df] SIMDTypes v0.1.0 [476501e8] SLEEFPirates v0.6.43 [1bc83da4] SafeTestsets v0.1.0 [431bcebd] SciMLPublic v1.0.1 [7e506255] ScopedValues v1.5.0 [efcf1570] Setfield v1.1.2 [a2af1166] SortingAlgorithms v1.2.2 [dc90abb0] SparseInverseSubset v0.1.2 [276daf66] SpecialFunctions v2.6.1 [aedffcd0] Static v1.3.1 [0d7ed370] StaticArrayInterface v1.8.0 [90137ffa] StaticArrays v1.9.16 [1e83bf80] StaticArraysCore v1.4.4 [82ae8749] StatsAPI v1.8.0 [2913bbd2] StatsBase v0.34.10 [7792a7ef] StrideArraysCore v0.5.8 [09ab397b] StructArrays v0.7.2 [f489334b] StyledStrings v1.0.3 [5a0628fe] Supposition v0.3.5 [fd094767] Suppressor v0.2.8 [2efcf032] SymbolicIndexingInterface v0.3.46 [d1185830] SymbolicUtils v4.17.0 [3783bdb8] TableTraits v1.0.1 [bd369af6] Tables v1.12.1 [ed4db957] TaskLocalValues v0.1.3 [8ea1fca8] TermInterface v2.0.0 [f8b46487] TestItemRunner v1.1.4 [1c621080] TestItems v1.0.0 [8290d209] ThreadingUtilities v0.5.5 [3a884ed6] UnPack v1.0.2 [3d5dd08c] VectorizationBase v0.21.72 [d30d5f5c] WeakCacheSets v0.1.0 [e88e6eb3] Zygote v0.7.10 [700de1a5] ZygoteRules v0.2.7 [efe28fd5] OpenSpecFun_jll v0.5.6+0 [0dad84c5] ArgTools v1.1.1 [56f22d72] Artifacts [2a0f44e3] Base64 [ade2ca70] Dates [8ba89e20] Distributed [f43a241f] Downloads v1.6.0 [7b1f6079] FileWatching [9fa8497b] Future [b77e0a4c] InteractiveUtils [b27032c2] LibCURL v0.6.4 [76f85450] LibGit2 [8f399da3] Libdl [37e2e46d] LinearAlgebra [56ddb016] Logging [d6f4376e] Markdown [ca575930] NetworkOptions v1.2.0 [44cfe95a] Pkg v1.10.0 [de0858da] Printf [3fa0cd96] REPL [9a3f8284] Random [ea8e919c] SHA v0.7.0 [9e88b42a] Serialization [6462fe0b] Sockets [2f01184e] SparseArrays v1.10.0 [10745b16] Statistics v1.10.0 [4607b0f0] SuiteSparse [fa267f1f] TOML v1.0.3 [a4e569a6] Tar v1.10.0 [8dfed614] Test [cf7118a7] UUIDs [4ec0a83e] Unicode [e66e0078] CompilerSupportLibraries_jll v1.1.1+0 [deac9b47] LibCURL_jll v8.4.0+0 [e37daf67] LibGit2_jll v1.6.4+0 [29816b5a] LibSSH2_jll v1.11.0+1 [c8ffd9c3] MbedTLS_jll v2.28.1010+0 [14a3606d] MozillaCACerts_jll v2025.12.2 [4536629a] OpenBLAS_jll v0.3.23+5 [05823500] OpenLibm_jll v0.8.5+0 [bea87d4a] SuiteSparse_jll v7.2.1+1 [83775a58] Zlib_jll v1.2.13+1 [8e850b90] libblastrampoline_jll v5.11.0+0 [8e850ede] nghttp2_jll v1.52.0+1 [3f19e933] p7zip_jll v17.4.0+2 Info Packages marked with ⌃ and ⌅ have new versions available. Those with ⌃ may be upgradable, but those with ⌅ are restricted by compatibility constraints from upgrading. Testing Running tests... ┌ Warning: The `tree(X; kws...)` syntax is deprecated. Use `tree(X, operators; kws...)` instead. │ caller = (::Main.var"##Initial error handling test#227".var"#1#2")() at test_initial_errors.jl:10 └ @ Main.var"##Initial error handling test#227" ~/.julia/packages/DynamicExpressions/scNNo/test/test_initial_errors.jl:10 ┌ Warning: The `tree(X; kws...)` syntax is deprecated. Use `tree(X, operators; kws...)` instead. │ caller = (::Main.var"##Initial error handling test#227".var"#3#4")() at test_initial_errors.jl:11 └ @ Main.var"##Initial error handling test#227" ~/.julia/packages/DynamicExpressions/scNNo/test/test_initial_errors.jl:11 ┌ Warning: The `tree'(X; kws...)` syntax is deprecated. Use `tree'(X, operators; kws...)` instead. │ caller = ip:0x0 └ @ Core :-1 ┌ Warning: `OperatorEnum(; #= /home/pkgeval/.julia/packages/DynamicExpressions/scNNo/src/deprecated.jl:96 =# @nospecialize(binary_operators::Union{Vector, Tuple, Nothing} = nothing), #= /home/pkgeval/.julia/packages/DynamicExpressions/scNNo/src/deprecated.jl:97 =# @nospecialize(unary_operators::Union{Vector, Tuple, Nothing} = nothing), kws...)` is deprecated, use `OperatorEnum(1 => Tuple(something(unary_operators, ())), 2 => Tuple(something(binary_operators, ())); kws...)` instead. │ caller = ip:0x0 └ @ Core :-1 Test Summary: | Pass Total Time Initial error handling test | 12 12 8.3s WARNING: DynamicExpressions.EquationModule is deprecated, use NodeModule instead. likely near /home/pkgeval/.julia/packages/DynamicExpressions/scNNo/test/test_deprecations.jl:47 Test Summary: | Pass Total Time Test deprecations | 9 9 15.4s Testing NodeInterface is implemented for DynamicExpressions.NodeModule.Node Mandatory components create_node: creates a new instance of the node type [true, true, true, true] get_children: returns the children of the node [true, true, true, true] copy: returns a copy of the tree [true, true, true, true] hash: returns the hash of the tree [true, true, true, true] any: checks if any element of the tree satisfies a condition [true, true, true, true] equality: checks equality of the tree with itself and its copy [true, true, true, true] preserve_sharing: checks if the node type preserves sharing [true, true, true, true] constructorof: gets the constructor function for a node type [true, true, true, true] eltype: gets the element type of the node [true, true, true, true] with_type_parameters: applies type parameters to the node type [true, true, true, true] with_max_degree: changes the maximum degree of a node type [true, true, true, true] default_allocator: gets the default allocator for the node type [true, true, true, true] set_node!: sets the node's value [true, true, true, true] count_nodes: counts the number of nodes in the tree [true, true, true, true] tree_mapreduce: applies a function across the tree [true, true, true, true] Optional components copy_into!: copies a node into a preallocated container [true, true, true, true] leaf_copy: copies a leaf node [true, true, true, true] leaf_copy_into!: copies a leaf node in-place [true, true, true, true] leaf_convert: converts a leaf node [true, true, true, true] leaf_hash: computes the hash of a leaf node [true, true, true, true] leaf_equal: checks equality of two leaf nodes [true, true, true, true] branch_copy: copies a branch node [true, true, true, true] branch_copy_into!: copies a branch node in-place [true, true, true, true] branch_convert: converts a branch node [true, true, true, true] branch_hash: computes the hash of a branch node [true, true, true, true] branch_equal: checks equality of two branch nodes [true, true, true, true] count_depth: calculates the depth of the tree [true, true, true, true] is_node_constant: checks if the node is a constant [true, true, true, true] count_constant_nodes: counts the number of constant nodes [true, true, true, true] filter_map: applies a filter and map function to the tree [true, true, true, true] has_constants: checks if the tree has constants [true, true, true, true] get_scalar_constants: gets constants from the tree, returning a tuple of: (1) a flat vector of the constants, and (2) a reference object that can be used by `set_scalar_constants!` to efficiently set them back [true, true, true, true] set_scalar_constants!: sets constants in the tree, given: (1) a flat vector of constants, (2) the tree, and (3) the reference object produced by `get_scalar_constants` [true, true, true, true] index_constant_nodes: indexes constants in the tree [true, true, true, true] has_operators: checks if the tree has operators [true, true, true, true] Testing NodeInterface is implemented for DynamicExpressions.NodeModule.GraphNode Mandatory components create_node: creates a new instance of the node type [true, true, true, true] get_children: returns the children of the node [true, true, true, true] copy: returns a copy of the tree [true, true, true, true] hash: returns the hash of the tree [true, true, true, true] any: checks if any element of the tree satisfies a condition [true, true, true, true] equality: checks equality of the tree with itself and its copy [true, true, true, true] preserve_sharing: checks if the node type preserves sharing [true, true, true, true] constructorof: gets the constructor function for a node type [true, true, true, true] eltype: gets the element type of the node [true, true, true, true] with_type_parameters: applies type parameters to the node type [true, true, true, true] with_max_degree: changes the maximum degree of a node type [true, true, true, true] default_allocator: gets the default allocator for the node type [true, true, true, true] set_node!: sets the node's value [true, true, true, true] count_nodes: counts the number of nodes in the tree [true, true, true, true] tree_mapreduce: applies a function across the tree [true, true, true, true] Optional components copy_into!: copies a node into a preallocated container [true, true, true, true] leaf_copy: copies a leaf node [true, true, true, true] leaf_copy_into!: copies a leaf node in-place [true, true, true, true] leaf_convert: converts a leaf node [true, true, true, true] leaf_hash: computes the hash of a leaf node [true, true, true, true] leaf_equal: checks equality of two leaf nodes [true, true, true, true] branch_copy: copies a branch node [true, true, true, true] branch_copy_into!: copies a branch node in-place [true, true, true, true] branch_convert: converts a branch node [true, true, true, true] branch_hash: computes the hash of a branch node [true, true, true, true] branch_equal: checks equality of two branch nodes [true, true, true, true] count_depth: calculates the depth of the tree [true, true, true, true] is_node_constant: checks if the node is a constant [true, true, true, true] count_constant_nodes: counts the number of constant nodes [true, true, true, true] filter_map: applies a filter and map function to the tree [true, true, true, true] has_constants: checks if the tree has constants [true, true, true, true] get_scalar_constants: gets constants from the tree, returning a tuple of: (1) a flat vector of the constants, and (2) a reference object that can be used by `set_scalar_constants!` to efficiently set them back [true, true, true, true] set_scalar_constants!: sets constants in the tree, given: (1) a flat vector of constants, (2) the tree, and (3) the reference object produced by `get_scalar_constants` [true, true, true, true] index_constant_nodes: indexes constants in the tree [true, true, true, true] has_operators: checks if the tree has operators [true, true, true, true] Testing NodeInterface is implemented for DynamicExpressions.NodeModule.Node Mandatory components create_node: creates a new instance of the node type [true] get_children: returns the children of the node [true] copy: returns a copy of the tree [true] hash: returns the hash of the tree [true] any: checks if any element of the tree satisfies a condition [true] equality: checks equality of the tree with itself and its copy [true] preserve_sharing: checks if the node type preserves sharing [true] constructorof: gets the constructor function for a node type [true] eltype: gets the element type of the node [true] with_type_parameters: applies type parameters to the node type [true] with_max_degree: changes the maximum degree of a node type [true] default_allocator: gets the default allocator for the node type [true] set_node!: sets the node's value [true] count_nodes: counts the number of nodes in the tree [true] tree_mapreduce: applies a function across the tree [true] Optional components copy_into!: copies a node into a preallocated container [true] leaf_copy: copies a leaf node [true] leaf_copy_into!: copies a leaf node in-place [true] leaf_convert: converts a leaf node [true] leaf_hash: computes the hash of a leaf node [true] leaf_equal: checks equality of two leaf nodes [true] branch_copy: copies a branch node [true] branch_copy_into!: copies a branch node in-place [true] branch_convert: converts a branch node [true] branch_hash: computes the hash of a branch node [true] branch_equal: checks equality of two branch nodes [true] count_depth: calculates the depth of the tree [true] is_node_constant: checks if the node is a constant [true] count_constant_nodes: counts the number of constant nodes [true] filter_map: applies a filter and map function to the tree [true] has_constants: checks if the tree has constants [true] get_scalar_constants: gets constants from the tree, returning a tuple of: (1) a flat vector of the constants, and (2) a reference object that can be used by `set_scalar_constants!` to efficiently set them back [true] set_scalar_constants!: sets constants in the tree, given: (1) a flat vector of constants, (2) the tree, and (3) the reference object produced by `get_scalar_constants` [true] index_constant_nodes: indexes constants in the tree [true] has_operators: checks if the tree has operators [true] Testing NodeInterface is implemented for DynamicExpressions.NodeModule.Node Mandatory components create_node: creates a new instance of the node type [true] get_children: returns the children of the node [true] copy: returns a copy of the tree [true] hash: returns the hash of the tree [true] any: checks if any element of the tree satisfies a condition [true] equality: checks equality of the tree with itself and its copy [true] preserve_sharing: checks if the node type preserves sharing [true] constructorof: gets the constructor function for a node type [true] eltype: gets the element type of the node [true] with_type_parameters: applies type parameters to the node type [true] with_max_degree: changes the maximum degree of a node type [true] default_allocator: gets the default allocator for the node type [true] set_node!: sets the node's value [true] count_nodes: counts the number of nodes in the tree [true] tree_mapreduce: applies a function across the tree [true] Optional components copy_into!: copies a node into a preallocated container [true] leaf_copy: copies a leaf node [true] leaf_copy_into!: copies a leaf node in-place [true] leaf_convert: converts a leaf node [true] leaf_hash: computes the hash of a leaf node [true] leaf_equal: checks equality of two leaf nodes [true] branch_copy: copies a branch node [true] branch_copy_into!: copies a branch node in-place [true] branch_convert: converts a branch node [true] branch_hash: computes the hash of a branch node [true] branch_equal: checks equality of two branch nodes [true] count_depth: calculates the depth of the tree [true] is_node_constant: checks if the node is a constant [true] count_constant_nodes: counts the number of constant nodes [true] filter_map: applies a filter and map function to the tree [true] has_constants: checks if the tree has constants [true] get_scalar_constants: gets constants from the tree, returning a tuple of: (1) a flat vector of the constants, and (2) a reference object that can be used by `set_scalar_constants!` to efficiently set them back [true] set_scalar_constants!: sets constants in the tree, given: (1) a flat vector of constants, (2) the tree, and (3) the reference object produced by `get_scalar_constants` [true] index_constant_nodes: indexes constants in the tree [true] has_operators: checks if the tree has operators [true] Testing NodeInterface is implemented for DynamicExpressions.NodeModule.Node Mandatory components create_node: creates a new instance of the node type [true] get_children: returns the children of the node [true] copy: returns a copy of the tree [true] hash: returns the hash of the tree [true] any: checks if any element of the tree satisfies a condition [true] equality: checks equality of the tree with itself and its copy [true] preserve_sharing: checks if the node type preserves sharing [true] constructorof: gets the constructor function for a node type [true] eltype: gets the element type of the node [true] with_type_parameters: applies type parameters to the node type [true] with_max_degree: changes the maximum degree of a node type [true] default_allocator: gets the default allocator for the node type [true] set_node!: sets the node's value [true] count_nodes: counts the number of nodes in the tree [true] tree_mapreduce: applies a function across the tree [true] Optional components copy_into!: copies a node into a preallocated container [true] leaf_copy: copies a leaf node [true] leaf_copy_into!: copies a leaf node in-place [true] leaf_convert: converts a leaf node [true] leaf_hash: computes the hash of a leaf node [true] leaf_equal: checks equality of two leaf nodes [true] branch_copy: copies a branch node [true] branch_copy_into!: copies a branch node in-place [true] branch_convert: converts a branch node [true] branch_hash: computes the hash of a branch node [true] branch_equal: checks equality of two branch nodes [true] count_depth: calculates the depth of the tree [true] is_node_constant: checks if the node is a constant [true] count_constant_nodes: counts the number of constant nodes [true] filter_map: applies a filter and map function to the tree [true] has_constants: checks if the tree has constants [true] get_scalar_constants: gets constants from the tree, returning a tuple of: (1) a flat vector of the constants, and (2) a reference object that can be used by `set_scalar_constants!` to efficiently set them back [true] set_scalar_constants!: sets constants in the tree, given: (1) a flat vector of constants, (2) the tree, and (3) the reference object produced by `get_scalar_constants` [true] index_constant_nodes: indexes constants in the tree [true] has_operators: checks if the tree has operators [true] ┌ Warning: Creating a node using a string is deprecated and will be removed in a future version. │ caller = ip:0x0 └ @ Core :-1 Testing derivatives with respect to variables, with type=Float16 and turbo=Val{false}(). Done. Testing derivatives with respect to constants, with type=Float16. Done. Testing derivatives with respect to variables, with type=Float32 and turbo=Val{true}(). Done. Testing derivatives with respect to constants, with type=Float32. Done. Testing derivatives with respect to variables, with type=Float32 and turbo=Val{false}(). Done. Testing derivatives with respect to constants, with type=Float32. Done. Testing derivatives with respect to variables, with type=Float64 and turbo=Val{true}(). Done. Testing derivatives with respect to constants, with type=Float64. Done. Testing derivatives with respect to variables, with type=Float64 and turbo=Val{false}(). Done. Testing derivatives with respect to constants, with type=Float64. Done. ┌ Warning: You have passed over 15 degree1 operators. To prevent long compilation times, some optimizations will be disabled. If this presents an issue, please open an issue on https://github.com/SymbolicML/DynamicExpressions.jl └ @ DynamicExpressions.OperatorEnumConstructionModule ~/.julia/packages/DynamicExpressions/scNNo/src/OperatorEnumConstruction.jl:483 evaluated_gradient = DynamicExpressions.ChainRulesModule.NodeTangent{Float64, DynamicExpressions.NodeModule.Node{Float64, 2}, Vector{Float64}}(bad_grad_op(x1), Float64[]) WARNING: Method definition f_constant(Float64, Any...) in module ##871 at /home/pkgeval/.julia/packages/DynamicExpressions/scNNo/test/test_print.jl:94 overwritten at /home/pkgeval/.julia/packages/DynamicExpressions/scNNo/test/test_print.jl:96. Testing NaN detection. Passed. Testing ValueInterface is implemented for Main.var"##952".DynamicTensor Mandatory components is_valid: checks if the value is valid (no NaN/Inf) [true, true, true, true, true, true, true, true, true] is_valid_array: checks if each value of the array is valid [true, true, true, true, true, true, true, true, true] get_number_type: gets the underlying scalar type, which must be `<:Number` [true, true, true, true, true, true, true, true, true] pack_scalar_constants!: packs scalar constants into an array [true, true, true, true, true, true, true, true, true] unpack_scalar_constants: unpacks scalar constants from an array [true, true, true, true, true, true, true, true, true] count_scalar_constants: counts how many scalar constants the value has [true, true, true, true, true, true, true, true, true] _convert(Node{T1}, tree) and _convert(Node{T1}, tree, IdDict{Node{T2}, Node{T1}}()) are not equal ┌ Warning: `count_constants(tree::Union{AbstractExpression, AbstractExpressionNode})` is deprecated, use `count_constant_nodes(tree)` instead. │ caller = macro expansion at Test.jl:670 [inlined] └ @ Core /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:670 ┌ Warning: `count_constants(tree::Union{AbstractExpression, AbstractExpressionNode})` is deprecated, use `count_constant_nodes(tree)` instead. │ caller = macro expansion at Test.jl:670 [inlined] └ @ Core /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:670 ┌ Warning: `count_constants(tree::Union{AbstractExpression, AbstractExpressionNode})` is deprecated, use `count_constant_nodes(tree)` instead. │ caller = macro expansion at Test.jl:670 [inlined] └ @ Core /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:670 ┌ Warning: The `tree(X; kws...)` syntax is deprecated. Use `tree(X, operators; kws...)` instead. │ caller = macro expansion at Test.jl:670 [inlined] └ @ Core /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:670 ┌ Warning: The `tree(X; kws...)` syntax is deprecated. Use `tree(X, operators; kws...)` instead. │ caller = macro expansion at Test.jl:670 [inlined] └ @ Core /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:670 Testing ValueInterface is implemented for Number Mandatory components is_valid: checks if the value is valid (no NaN/Inf) [true, true, true, true, true, true] is_valid_array: checks if each value of the array is valid [true, true, true, true, true, true] get_number_type: gets the underlying scalar type, which must be `<:Number` [true, true, true, true, true, true] pack_scalar_constants!: packs scalar constants into an array [true, true, true, true, true, true] unpack_scalar_constants: unpacks scalar constants from an array [true, true, true, true, true, true] count_scalar_constants: counts how many scalar constants the value has [true, true, true, true, true, true] Testing ExpressionInterface is implemented for DynamicExpressions.StructuredExpressionModule.StructuredExpression Mandatory components get_contents: extracts the runtime contents of an expression [true] get_metadata: extracts the runtime metadata of an expression [true] get_tree: extracts the expression tree from [`AbstractExpression`](@ref) [true] get_operators: returns the operators used in the expression (or pass `operators` explicitly to override) [true] get_variable_names: returns the variable names used in the expression (or pass `variable_names` explicitly to override) [true] copy: returns a copy of the expression [true] with_contents: returns the expression with different tree [true] with_metadata: returns the expression with different metadata [true] Optional components copy_into!: copies an expression into a preallocated container [true] count_nodes: counts the number of nodes in the expression tree [true] count_constant_nodes: counts the number of constant nodes in the expression tree [true] count_depth: calculates the depth of the expression tree [true] index_constant_nodes: indexes constants in the expression tree [true] has_operators: checks if the expression has operators [true] has_constants: checks if the expression has constants [true] get_scalar_constants: gets constants from the expression tree, returning a tuple of: (1) a flat vector of the constants, and (2) an reference object that can be used by `set_scalar_constants!` to efficiently set them back [true] set_scalar_constants!: sets constants in the expression tree, given: (1) a flat vector of constants, (2) the expression, and (3) the reference object produced by `get_scalar_constants` [true] string_tree: returns a string representation of the expression tree [true] default_node_type: returns the default node type for the expression [true] constructorof: gets the constructor function for a type [true] tree_mapreduce: applies a function across the tree [true] Testing ExpressionInterface is implemented for Main.var"##3690".MultiScalarExpression Mandatory components get_contents: extracts the runtime contents of an expression [true] get_metadata: extracts the runtime metadata of an expression [true] get_tree: extracts the expression tree from [`AbstractExpression`](@ref) [true] get_operators: returns the operators used in the expression (or pass `operators` explicitly to override) [true] get_variable_names: returns the variable names used in the expression (or pass `variable_names` explicitly to override) [true] copy: returns a copy of the expression [true] with_contents: returns the expression with different tree [true] with_metadata: returns the expression with different metadata [true] ┌ Warning: You have passed over 15 degree1 operators. To prevent long compilation times, some optimizations will be disabled. If this presents an issue, please open an issue on https://github.com/SymbolicML/DynamicExpressions.jl └ @ DynamicExpressions.OperatorEnumConstructionModule ~/.julia/packages/DynamicExpressions/scNNo/src/OperatorEnumConstruction.jl:483 WARNING: Method definition g!(Any, Any) in module ##5913 at /home/pkgeval/.julia/packages/DynamicExpressions/scNNo/test/test_optim_setup.jl:17 overwritten at /home/pkgeval/.julia/packages/DynamicExpressions/scNNo/test/test_optim.jl:42. Testing ExpressionInterface is implemented for DynamicExpressions.ExpressionModule.Expression Mandatory components get_contents: extracts the runtime contents of an expression [true] get_metadata: extracts the runtime metadata of an expression [true] get_tree: extracts the expression tree from [`AbstractExpression`](@ref) [true] get_operators: returns the operators used in the expression (or pass `operators` explicitly to override) [true] get_variable_names: returns the variable names used in the expression (or pass `variable_names` explicitly to override) [true] copy: returns a copy of the expression [true] with_contents: returns the expression with different tree [true] with_metadata: returns the expression with different metadata [true] Optional components copy_into!: copies an expression into a preallocated container [true] count_nodes: counts the number of nodes in the expression tree [true] count_constant_nodes: counts the number of constant nodes in the expression tree [true] count_depth: calculates the depth of the expression tree [true] index_constant_nodes: indexes constants in the expression tree [true] has_operators: checks if the expression has operators [true] has_constants: checks if the expression has constants [true] get_scalar_constants: gets constants from the expression tree, returning a tuple of: (1) a flat vector of the constants, and (2) an reference object that can be used by `set_scalar_constants!` to efficiently set them back [true] set_scalar_constants!: sets constants in the expression tree, given: (1) a flat vector of constants, (2) the expression, and (3) the reference object produced by `get_scalar_constants` [true] string_tree: returns a string representation of the expression tree [true] default_node_type: returns the default node type for the expression [true] constructorof: gets the constructor function for a type [true] tree_mapreduce: applies a function across the tree [true] ┌ Warning: `count_constants(tree::Union{AbstractExpression, AbstractExpressionNode})` is deprecated, use `count_constant_nodes(tree)` instead. │ caller = macro expansion at Test.jl:670 [inlined] └ @ Core /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:670 ┌ Warning: `count_constants(tree::Union{AbstractExpression, AbstractExpressionNode})` is deprecated, use `count_constant_nodes(tree)` instead. │ caller = macro expansion at Test.jl:670 [inlined] └ @ Core /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:670 Number of nodes: 9 Original: (2.0 + x) + 3.0 Simplified: x + 5.0 Testing ExpressionInterface is implemented for DynamicExpressions.ParametricExpressionModule.ParametricExpression Mandatory components get_contents: extracts the runtime contents of an expression [true] get_metadata: extracts the runtime metadata of an expression [true] get_tree: extracts the expression tree from [`AbstractExpression`](@ref) [true] get_operators: returns the operators used in the expression (or pass `operators` explicitly to override) [true] get_variable_names: returns the variable names used in the expression (or pass `variable_names` explicitly to override) [true] copy: returns a copy of the expression [true] with_contents: returns the expression with different tree [true] with_metadata: returns the expression with different metadata [true] Optional components copy_into!: copies an expression into a preallocated container [true] count_nodes: counts the number of nodes in the expression tree [true] count_depth: calculates the depth of the expression tree [true] has_operators: checks if the expression has operators [true] get_scalar_constants: gets constants from the expression tree, returning a tuple of: (1) a flat vector of the constants, and (2) an reference object that can be used by `set_scalar_constants!` to efficiently set them back [true] set_scalar_constants!: sets constants in the expression tree, given: (1) a flat vector of constants, (2) the expression, and (3) the reference object produced by `get_scalar_constants` [true] string_tree: returns a string representation of the expression tree [true] default_node_type: returns the default node type for the expression [true] constructorof: gets the constructor function for a type [true] tree_mapreduce: applies a function across the tree [true] Testing NodeInterface is implemented for DynamicExpressions.ParametricExpressionModule.ParametricNode Mandatory components create_node: creates a new instance of the node type [true, true, true, true, true] get_children: returns the children of the node [true, true, true, true, true] copy: returns a copy of the tree [true, true, true, true, true] hash: returns the hash of the tree [true, true, true, true, true] any: checks if any element of the tree satisfies a condition [true, true, true, true, true] equality: checks equality of the tree with itself and its copy [true, true, true, true, true] preserve_sharing: checks if the node type preserves sharing [true, true, true, true, true] constructorof: gets the constructor function for a node type [true, true, true, true, true] eltype: gets the element type of the node [true, true, true, true, true] with_type_parameters: applies type parameters to the node type [true, true, true, true, true] with_max_degree: changes the maximum degree of a node type [true, true, true, true, true] default_allocator: gets the default allocator for the node type [true, true, true, true, true] set_node!: sets the node's value [true, true, true, true, true] count_nodes: counts the number of nodes in the tree [true, true, true, true, true] tree_mapreduce: applies a function across the tree [true, true, true, true, true] Optional components copy_into!: copies a node into a preallocated container [true, true, true, true, true] leaf_copy: copies a leaf node [true, true, true, true, true] leaf_copy_into!: copies a leaf node in-place [true, true, true, true, true] leaf_convert: converts a leaf node [true, true, true, true, true] leaf_hash: computes the hash of a leaf node [true, true, true, true, true] leaf_equal: checks equality of two leaf nodes [true, true, true, true, true] branch_copy: copies a branch node [true, true, true, true, true] branch_copy_into!: copies a branch node in-place [true, true, true, true, true] branch_convert: converts a branch node [true, true, true, true, true] branch_hash: computes the hash of a branch node [true, true, true, true, true] branch_equal: checks equality of two branch nodes [true, true, true, true, true] count_depth: calculates the depth of the tree [true, true, true, true, true] is_node_constant: checks if the node is a constant [true, true, true, true, true] count_constant_nodes: counts the number of constant nodes [true, true, true, true, true] filter_map: applies a filter and map function to the tree [true, true, true, true, true] has_constants: checks if the tree has constants [true, true, true, true, true] get_scalar_constants: gets constants from the tree, returning a tuple of: (1) a flat vector of the constants, and (2) a reference object that can be used by `set_scalar_constants!` to efficiently set them back [true, true, true, true, true] set_scalar_constants!: sets constants in the tree, given: (1) a flat vector of constants, (2) the tree, and (3) the reference object produced by `get_scalar_constants` [true, true, true, true, true] index_constant_nodes: indexes constants in the tree [true, true, true, true, true] has_operators: checks if the tree has operators [true, true, true, true, true] ┌ Warning: `count_constants(tree::Union{AbstractExpression, AbstractExpressionNode})` is deprecated, use `count_constant_nodes(tree)` instead. │ caller = macro expansion at test_parametric_expression.jl:316 [inlined] └ @ Core ~/.julia/packages/DynamicExpressions/scNNo/test/test_parametric_expression.jl:316 Test Summary: | Pass Total Time Package | 2986 2986 19m15.7s Testing DynamicExpressions tests passed Testing completed after 1201.33s PkgEval succeeded after 1594.95s