Skip to content

world age and Julia 1.12 issue #61

@lmiq

Description

@lmiq

I'm not sure if this is a PrecompileTools issue, but it seems to be. In Julia 1.12 I'm getting the following warning when loading a package:

julia> using CellListMap
Info Given CellListMap was explicitly requested, output will be shown live 
WARNING: Detected access to binding `CellListMap.Cell` in a world prior to its definition world.
  Julia 1.12 has introduced more strict world age semantics for global bindings.
  !!! This code may malfunction under Revise.
  !!! This code will error in future versions of Julia.
Hint: Add an appropriate `invokelatest` around the access to this binding.
Precompiling CellListMap finished.
  4 dependencies successfully precompiled in 11 seconds. 23 already precompiled.
  1 dependency had output during precompilation:
┌ CellListMap
│  [Output was shown above]
└ 

The warning goes away if I remove the precompilation block, which is at the end of the module. A minimal precompile block that triggers the issue is this one:

import PrecompileTools
PrecompileTools.@setup_workload begin
    x = [ rand(3) for i in 1:5000 ]
    box = Box([50, 50, 50], 10)
    PrecompileTools.@compile_workload begin
        cl = CellList(x,box)
    end
end

To reproduce the issue, just install CellListMap in an empty environment.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions