JuliaDiff / ChainRules.jl

forward and reverse mode automatic differentiation primitives for Julia Base + StdLibs
Other
436 stars 89 forks source link

`allequal` Compat issue with recent commit? #598

Open doddgray opened 2 years ago

doddgray commented 2 years ago

At least for me, ChainRules failed to build on Julia v1.7.1 after pulling the latest changes from #597 last night. The error messages (sorry I didn't copy) mentioned that the recently added Base.allequal (julia #43354) is unrecognized. Possibly an issue with Compat controls, related to this comment in the PR? @mcabbott @niklasschmitz @mzgubic

Maybe it's just me, sorry to bother if so. I took this as a sign I should build v1.7.2

mcabbott commented 2 years ago

That's surprising. Did it say Base.allequal?

```julia julia> @macroexpand1 @non_differentiable allequal(::Any) quote #= /Users/me/.julia/packages/ChainRulesCore/IzITE/src/rule_definition_tools.jl:383 =# begin function (::(ChainRulesCore.Core).kwftype(ChainRulesCore.typeof((ChainRulesCore.ChainRulesCore).frule)))(#= /Users/me/.julia/packages/ChainRulesCore/IzITE/src/rule_definition_tools.jl:404 =# @nospecialize(var"##kwargs#423"::Any), var"#1553#frule"::ChainRulesCore.typeof((ChainRulesCore.ChainRulesCore).frule), #= /Users/me/.julia/packages/ChainRulesCore/IzITE/src/rule_definition_tools.jl:406 =# @nospecialize(::Any), ::(Core).Typeof(allequal), var"##422"::Any) return (allequal(var"##422"; var"##kwargs#423"...), ChainRulesCore.NoTangent()) end function (ChainRulesCore.ChainRulesCore).frule(#= /Users/me/.julia/packages/ChainRulesCore/IzITE/src/rule_definition_tools.jl:412 =# @nospecialize(::Any), ::(Core).Typeof(allequal), var"##422"::Any) #= REPL[58]:1 =# return (allequal(var"##422"), ChainRulesCore.NoTangent()) end end #= /Users/me/.julia/packages/ChainRulesCore/IzITE/src/rule_definition_tools.jl:384 =# begin function (::(ChainRulesCore.Core).kwftype(ChainRulesCore.typeof(ChainRulesCore.rrule)))(var"##kwargs#424"::ChainRulesCore.Any, ::ChainRulesCore.typeof(ChainRulesCore.rrule), ::(Core).Typeof(allequal), var"##422"::Any) return (allequal(var"##422"; var"##kwargs#424"...), begin function allequal_pullback(#= /Users/me/.julia/packages/ChainRulesCore/IzITE/src/rule_definition_tools.jl:439 =# @nospecialize(_)) return (NoTangent(), NoTangent()) end end) end function (ChainRulesCore.ChainRulesCore).rrule(::(Core).Typeof(allequal), var"##422"::Any) #= REPL[58]:1 =# return (allequal(var"##422"), begin function allequal_pullback(#= /Users/me/.julia/packages/ChainRulesCore/IzITE/src/rule_definition_tools.jl:439 =# @nospecialize(_)) return (NoTangent(), NoTangent()) end end) end end end ```
doddgray commented 2 years ago

Sorry, I just looked a bit and I think I lost the error messages. The error definitely said that ChainRules failed to build and cited not recognizing allequal, but that's about all I remember.

I also incorrectly wrote Base.allequal naively assuming that allequal had been added to Base, adding unnecessary confusion. All around not a helpful post from me!

Maybe I caused ChainRules not to build myself by creating an inconsistent project environment or something like that. I'm happy to close this if it looks okay to you.

mcabbott commented 2 years ago

CI is 1.7.2, and I tried 1.7.0 and didn't see problems. Glad if it works now!

adrhill commented 2 years ago

I can recreate this in 1.7.1:

julia> VERSION
v"1.7.1"

(@v1.7) pkg> activate --temp
  Activating new project at `/var/folders/74/wcz8c9qs5dzc8wgkk7839k5c0000gn/T/jl_gugiKX`

(jl_gugiKX) pkg> add ChainRules
    Updating registry at `~/.julia/registries/General.toml`
   Resolving package versions...
    Updating `/private/var/folders/74/wcz8c9qs5dzc8wgkk7839k5c0000gn/T/jl_gugiKX/Project.toml`
  [082447d4] + ChainRules v1.28.0
    Updating `/private/var/folders/74/wcz8c9qs5dzc8wgkk7839k5c0000gn/T/jl_gugiKX/Manifest.toml`
  [082447d4] + ChainRules v1.28.0
  [d360d2e6] + ChainRulesCore v1.13.0
  [34da2185] + Compat v3.42.0
  [92d709cd] + IrrationalConstants v0.1.1
  [c1ae055f] + RealDot v0.1.0
  [0dad84c5] + ArgTools
  [56f22d72] + Artifacts
  [2a0f44e3] + Base64
  [ade2ca70] + Dates
  [8bb1440f] + DelimitedFiles
  [8ba89e20] + Distributed
  [f43a241f] + Downloads
  [b77e0a4c] + InteractiveUtils
  [b27032c2] + LibCURL
  [76f85450] + LibGit2
  [8f399da3] + Libdl
  [37e2e46d] + LinearAlgebra
  [56ddb016] + Logging
  [d6f4376e] + Markdown
  [a63ad114] + Mmap
  [ca575930] + NetworkOptions
  [44cfe95a] + Pkg
  [de0858da] + Printf
  [3fa0cd96] + REPL
  [9a3f8284] + Random
  [ea8e919c] + SHA
  [9e88b42a] + Serialization
  [1a1011a3] + SharedArrays
  [6462fe0b] + Sockets
  [2f01184e] + SparseArrays
  [10745b16] + Statistics
  [fa267f1f] + TOML
  [a4e569a6] + Tar
  [8dfed614] + Test
  [cf7118a7] + UUIDs
  [4ec0a83e] + Unicode
  [e66e0078] + CompilerSupportLibraries_jll
  [deac9b47] + LibCURL_jll
  [29816b5a] + LibSSH2_jll
  [c8ffd9c3] + MbedTLS_jll
  [14a3606d] + MozillaCACerts_jll
  [4536629a] + OpenBLAS_jll
  [83775a58] + Zlib_jll
  [8e850b90] + libblastrampoline_jll
  [8e850ede] + nghttp2_jll
  [3f19e933] + p7zip_jll

julia> using ChainRules
[ Info: Precompiling ChainRules [082447d4-558c-5d27-93f4-14fc19e9eca2]
ERROR: LoadError: UndefVarError: allequal not defined
Stacktrace:
  [1] top-level scope
    @ ~/.julia/packages/ChainRulesCore/IzITE/src/rule_definition_tools.jl:383
  [2] include(mod::Module, _path::String)
    @ Base ./Base.jl:418
  [3] include(x::String)
    @ ChainRules ~/.julia/packages/ChainRules/0HWSq/src/ChainRules.jl:1
  [4] top-level scope
    @ ~/.julia/packages/ChainRules/0HWSq/src/ChainRules.jl:24
  [5] include
    @ ./Base.jl:418 [inlined]
  [6] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing)
    @ Base ./loading.jl:1318
  [7] top-level scope
    @ none:1
  [8] eval
    @ ./boot.jl:373 [inlined]
  [9] eval(x::Expr)
    @ Base.MainInclude ./client.jl:453
 [10] top-level scope
    @ none:1
in expression starting at /Users/funks/.julia/packages/ChainRules/0HWSq/src/rulesets/Base/nondiff.jl:99
in expression starting at /Users/funks/.julia/packages/ChainRules/0HWSq/src/ChainRules.jl:1
ERROR: Failed to precompile ChainRules [082447d4-558c-5d27-93f4-14fc19e9eca2] to /Users/funks/.julia/compiled/v1.7/ChainRules/jl_cFBACB.
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:33
 [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)
   @ Base ./loading.jl:1466
 [3] compilecache(pkg::Base.PkgId, path::String)
   @ Base ./loading.jl:1410
 [4] _require(pkg::Base.PkgId)
   @ Base ./loading.jl:1120
 [5] require(uuidkey::Base.PkgId)
   @ Base ./loading.jl:1013
 [6] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:

This currently also breaks Flux.

mzgubic commented 2 years ago

Have you tried ] uping your env?

I can't reproduce the issue I'm afraid :(

adrhill commented 2 years ago

Also happens to me on 1.7.2 on macOS. up doesn't help.

```julia-repl julia> VERSION v"1.7.2" (@v1.7) pkg> activate --temp Activating new project at `/var/folders/74/wcz8c9qs5dzc8wgkk7839k5c0000gn/T/jl_Z0xCP0` (jl_Z0xCP0) pkg> add ChainRules Updating registry at `~/.julia/registries/General.toml` Resolving package versions... Updating `/private/var/folders/74/wcz8c9qs5dzc8wgkk7839k5c0000gn/T/jl_Z0xCP0/Project.toml` [082447d4] + ChainRules v1.28.0 Updating `/private/var/folders/74/wcz8c9qs5dzc8wgkk7839k5c0000gn/T/jl_Z0xCP0/Manifest.toml` [082447d4] + ChainRules v1.28.0 [d360d2e6] + ChainRulesCore v1.13.0 [34da2185] + Compat v3.42.0 [92d709cd] + IrrationalConstants v0.1.1 [c1ae055f] + RealDot v0.1.0 [0dad84c5] + ArgTools [56f22d72] + Artifacts [2a0f44e3] + Base64 [ade2ca70] + Dates [8bb1440f] + DelimitedFiles [8ba89e20] + Distributed [f43a241f] + Downloads [b77e0a4c] + InteractiveUtils [b27032c2] + LibCURL [76f85450] + LibGit2 [8f399da3] + Libdl [37e2e46d] + LinearAlgebra [56ddb016] + Logging [d6f4376e] + Markdown [a63ad114] + Mmap [ca575930] + NetworkOptions [44cfe95a] + Pkg [de0858da] + Printf [3fa0cd96] + REPL [9a3f8284] + Random [ea8e919c] + SHA [9e88b42a] + Serialization [1a1011a3] + SharedArrays [6462fe0b] + Sockets [2f01184e] + SparseArrays [10745b16] + Statistics [fa267f1f] + TOML [a4e569a6] + Tar [8dfed614] + Test [cf7118a7] + UUIDs [4ec0a83e] + Unicode [e66e0078] + CompilerSupportLibraries_jll [deac9b47] + LibCURL_jll [29816b5a] + LibSSH2_jll [c8ffd9c3] + MbedTLS_jll [14a3606d] + MozillaCACerts_jll [4536629a] + OpenBLAS_jll [83775a58] + Zlib_jll [8e850b90] + libblastrampoline_jll [8e850ede] + nghttp2_jll [3f19e933] + p7zip_jll julia> using ChainRules [ Info: Precompiling ChainRules [082447d4-558c-5d27-93f4-14fc19e9eca2] ERROR: LoadError: UndefVarError: allequal not defined Stacktrace: [1] top-level scope @ ~/.julia/packages/ChainRulesCore/IzITE/src/rule_definition_tools.jl:383 [2] include(mod::Module, _path::String) @ Base ./Base.jl:418 [3] include(x::String) @ ChainRules ~/.julia/packages/ChainRules/0HWSq/src/ChainRules.jl:1 [4] top-level scope @ ~/.julia/packages/ChainRules/0HWSq/src/ChainRules.jl:24 [5] include @ ./Base.jl:418 [inlined] [6] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing) @ Base ./loading.jl:1318 [7] top-level scope @ none:1 [8] eval @ ./boot.jl:373 [inlined] [9] eval(x::Expr) @ Base.MainInclude ./client.jl:453 [10] top-level scope @ none:1 in expression starting at /Users/funks/.julia/packages/ChainRules/0HWSq/src/rulesets/Base/nondiff.jl:99 in expression starting at /Users/funks/.julia/packages/ChainRules/0HWSq/src/ChainRules.jl:1 ERROR: Failed to precompile ChainRules [082447d4-558c-5d27-93f4-14fc19e9eca2] to /Users/funks/.julia/compiled/v1.7/ChainRules/jl_TFrmc3. Stacktrace: [1] error(s::String) @ Base ./error.jl:33 [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool) @ Base ./loading.jl:1466 [3] compilecache(pkg::Base.PkgId, path::String) @ Base ./loading.jl:1410 [4] _require(pkg::Base.PkgId) @ Base ./loading.jl:1120 [5] require(uuidkey::Base.PkgId) @ Base ./loading.jl:1013 [6] require(into::Module, mod::Symbol) @ Base ./loading.jl:997 ```
adrhill commented 2 years ago

Maybe this is due to my startup.jl?

➜  ~ cat ~/.julia/config/startup.jl
using Revise
using OhMyREPL
using JuliaFormatter
using BenchmarkTools
using TestEnv
adrhill commented 2 years ago

Ok, this issue can stay closed. Somehow Compat 3.42 doesn't export allequal on my machine. I'll open an issue there.

Thanks for the help! :)

Edit: This wasn't an issue with Compat either, but with an older version of JuliaFormatter in my startup.jl!

CiaranOMara commented 2 years ago

Building on @adrhill's comments, I'm beginning to encounter this on Julia v1.7.2 through juno v0.8.4 with julia-client v0.12.6. I presume that juno/julia-client is using the older JuliaFormater? This undefined allequal is frustrating as I now need to precompile zygote v0.6.36 outside of the IDE available to me.

mcabbott commented 2 years ago

This is really strange. I wonder why it doesn't happen with anything else using Compat -- do any of these packages define their own allequal which clashes somehow?

Does it still occur if with ] dev ChainRules? If so, you could edit the file to have @non_diff Compat.allequal(... instead, maybe that would change something?

CiaranOMara commented 2 years ago

I cannot reproduce the error after successfully precompiling outside of my IDE. So, I can't try your suggestions @mcabbott.

Below is the script of what I've tried within the IDE to reproduce the error.

cd(@__DIR__)
run(`rm Manifest.toml`)
run(`rm Project.toml`)
run(`rm -r $(homedir())/.julia/compiled/v1.7/Zygote`)
run(`rm -r $(homedir())/.julia/compiled/v1.7/ChainRules`)
run(`rm -r $(homedir())/.julia/compiled/v1.7/ChainRulesCore`)

import Pkg
Pkg.activate(@__DIR__)

Pkg.add("ChainRules")
# Pkg.develop("ChainRules")
Pkg.add("Zygote")

using Zygote

My more complex projects are now loading ChainRules etc through the IDE since a successful precompile.

KronosTheLate commented 2 years ago

I also faced this issue. Here is my environment for reproducibility:

(DennisBachelorProject) pkg> st
      Status `~/DennisBachelorProject/Project.toml`
  [cbdf2221] AlgebraOfGraphics v0.6.4
  [fbb218c0] BSON v0.3.5
  [a80a1652] BenchmarkHistograms v0.2.0
  [5d742f6a] CSVFiles v1.0.1
  [052768ef] CUDA v3.8.3
  [324d7699] CategoricalArrays v0.10.5
  [a93c6f00] DataFrames v1.3.2
  [31c24e10] Distributions v0.25.49
  [634d3b9d] DrWatson v2.9.1
  [587475ba] Flux v0.13.0
  [e9467ef8] GLMakie v0.5.5
  [93e5fe13] Hyperopt v0.5.5
  [033835bb] JLD2 v0.4.22
  [eb30cadb] MLDatasets v0.5.15
  [20f20a25] MakieCore v0.2.1
  [429524aa] Optim v1.6.2
  [b98c9c47] Pipe v1.3.0
  [27ebfcd6] Primes v0.5.1
  [92933f4c] ProgressMeter v1.7.1
  [295af30f] Revise v3.3.1
  [35248bf2] SampledVectors v0.1.1
  [22787eb5] Term v0.3.0
  [a759f4b9] TimerOutputs v0.5.16
  [75d8cae4] Tools v0.1.0 `https://github.com/KronosTheLate/Tools.jl#main`
  [b8865327] UnicodePlots v2.10.3
  [98cad3c8] ValueHistories v0.5.4
  [e88e6eb3] Zygote v0.6.34

julia> using Pkg; pkg"instantiate"

julia> using Flux
[ Info: Precompiling Flux [587475ba-b771-5e3f-ad9e-33799f191a9c]
ERROR: LoadError: UndefVarError: allequal not defined
Stacktrace:
  [1] top-level scope
    @ ~/.julia/packages/ChainRulesCore/RbX5a/src/rule_definition_tools.jl:383
  [2] include(mod::Module, _path::String)
    @ Base ./Base.jl:418
  [3] include(x::String)
    @ ChainRules ~/.julia/packages/ChainRules/XWY2g/src/ChainRules.jl:1
  [4] top-level scope
    @ ~/.julia/packages/ChainRules/XWY2g/src/ChainRules.jl:24
  [5] include
    @ ./Base.jl:418 [inlined]
  [6] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::String)
    @ Base ./loading.jl:1318
  [7] top-level scope
    @ none:1
  [8] eval
    @ ./boot.jl:373 [inlined]
  [9] eval(x::Expr)
    @ Base.MainInclude ./client.jl:453
 [10] top-level scope
    @ none:1
in expression starting at /home/legolas/.julia/packages/ChainRules/XWY2g/src/rulesets/Base/nondiff.jl:99
in expression starting at /home/legolas/.julia/packages/ChainRules/XWY2g/src/ChainRules.jl:1
ERROR: LoadError: Failed to precompile ChainRules [082447d4-558c-5d27-93f4-14fc19e9eca2] to /home/legolas/.julia/compiled/v1.7/ChainRules/jl_GK0j38.
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:33
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)
    @ Base ./loading.jl:1466
  [3] compilecache(pkg::Base.PkgId, path::String)
    @ Base ./loading.jl:1410
  [4] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:1120
  [5] require(uuidkey::Base.PkgId)
    @ Base ./loading.jl:1013
  [6] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:997
  [7] include
    @ ./Base.jl:418 [inlined]
  [8] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::String)
    @ Base ./loading.jl:1318
  [9] top-level scope
    @ none:1
 [10] eval
    @ ./boot.jl:373 [inlined]
 [11] eval(x::Expr)
    @ Base.MainInclude ./client.jl:453
 [12] top-level scope
    @ none:1
in expression starting at /home/legolas/.julia/packages/Zygote/FPUm3/src/Zygote.jl:1
ERROR: LoadError: Failed to precompile Zygote [e88e6eb3-aa80-5325-afca-941959d7151f] to /home/legolas/.julia/compiled/v1.7/Zygote/jl_U8Q3Un.
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:33
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)
    @ Base ./loading.jl:1466
  [3] compilecache(pkg::Base.PkgId, path::String)
    @ Base ./loading.jl:1410
  [4] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:1120
  [5] require(uuidkey::Base.PkgId)
    @ Base ./loading.jl:1013
  [6] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:997
  [7] include
    @ ./Base.jl:418 [inlined]
  [8] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing)
    @ Base ./loading.jl:1318
  [9] top-level scope
    @ none:1
 [10] eval
    @ ./boot.jl:373 [inlined]
 [11] eval(x::Expr)
    @ Base.MainInclude ./client.jl:453
 [12] top-level scope
    @ none:1
in expression starting at /home/legolas/.julia/packages/Flux/18YZE/src/Flux.jl:1
ERROR: Failed to precompile Flux [587475ba-b771-5e3f-ad9e-33799f191a9c] to /home/legolas/.julia/compiled/v1.7/Flux/jl_SkU4Wn.
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:33
 [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)
   @ Base ./loading.jl:1466
 [3] compilecache(pkg::Base.PkgId, path::String)
   @ Base ./loading.jl:1410
 [4] _require(pkg::Base.PkgId)
   @ Base ./loading.jl:1120
 [5] require(uuidkey::Base.PkgId)
   @ Base ./loading.jl:1013
 [6] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:997

julia> versioninfo()
Julia Version 1.7.2
Commit bf53498635 (2022-02-06 15:21 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Core(TM) i5-9400F CPU @ 2.90GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-12.0.1 (ORCJIT, skylake)
masenka31 commented 2 years ago

Hi, I do have this issue, too, using Julia 1.7.2. Just wanted to add the specific info about when it breaks for me. The problem seems to be when I load any package before activating an environment, for example

using DrWatson
@quickactivate # or ] activate .
using ChainRules # or Flux

breaks and gives the error with allequal not defined. I also tried it with first using UnicodePlots and then activating environment and using Flux. It is not a huge problem but an inconvenience, since I am using using DrWatson; @quickactivate in most of my scripts.

When first activating environment, then loading Flux/ChainRules, everything works fine. I also not not know which package to update (as for others it was fixed by updating), my packages are updated as much as they can, I do need some lower versions because of dependencies.

My Project.toml:

[deps]
ArgParse = "c7e460c6-2fb9-53a9-8c5b-16f535851c63"
BSON = "fbb218c0-5317-5bc6-957e-2ee96dd4b1f0"
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
ChainRules = "082447d4-558c-5d27-93f4-14fc19e9eca2"
ConditionalDists = "c648c4dd-c1e0-49a6-84b9-144ae7fd2468"
DataDeps = "124859b0-ceae-595e-8997-d05f6a7a8dfe"
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab"
Distances = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7"
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
DistributionsAD = "ced4e74d-a319-5a8a-b0ac-84af2272839c"
DrWatson = "634d3b9d-ee7a-5ddf-bec9-22491ea816e1"
EvalMetrics = "251d5f9e-10c1-4699-ba24-e0ad168fa3e4"
FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549"
Flux = "587475ba-b771-5e3f-ad9e-33799f191a9c"
Flux3D = "432009dd-59a1-4b72-8c93-6462ce9b220f"
HDF5 = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
MLDataPattern = "9920b226-0b2a-5f5f-9153-9aa70a013f8b"
Mill = "1d0525e4-8992-11e8-313c-e310e1f6ddea"
Mmap = "a63ad114-7e13-5084-954f-fe012c677804"
NearestNeighbors = "b8a86587-4115-5ab1-83bc-aa920d37bbce"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91"
StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd"
ValueHistories = "98cad3c8-aec3-5f06-8e41-884608649ab7"

[compat]
DrWatson = "2.9.1"
julia = "1.7.2"
oxinabox commented 2 years ago

This feels like a bug in julia itself. Because order of loading shouldn't have an effect on what is defined inside Base...