Skip to content

Conversation

@xal-0
Copy link
Member

@xal-0 xal-0 commented Jan 28, 2026

Since cd02671, @activate Compiler results in a message like this because it is missing a world age update:

ERROR: MethodError: no method matching activate!(; codegen::Bool)
The applicable method may be too new: running in world age 39820, while current world is 39821.

Closest candidates are:
  activate!(; reflection, codegen) (method too new to be called from this world context.)
   @ Compiler ~/julia/Compiler/src/bootstrap.jl:83

This change reverts the macro to the old version that does Base.require in a separate toplevel statement.

Since cd02671, @activate Compiler results in a
message like this because it is missing a world age update:
```
ERROR: MethodError: no method matching activate!(; codegen::Bool)
The applicable method may be too new: running in world age 39820, while current world is 39821.

Closest candidates are:
  activate!(; reflection, codegen) (method too new to be called from this world context.)
   @ Compiler ~/julia/Compiler/src/bootstrap.jl:83
```

This change reverts the macro to the old version that `Base.require`s in a
separate toplevel statement.
@xal-0 xal-0 added the bugfix This change fixes an existing bug label Jan 28, 2026
@Keno
Copy link
Member

Keno commented Jan 28, 2026

Should probably have a test that does julia -c 'using InteractiveUtils; @activate. Maybe in the interactiveutils tests?

@xal-0
Copy link
Member Author

xal-0 commented Jan 28, 2026

Unfortunately ./julia --project=Compiler -e 'using InteractiveUtils; @activate Compiler' succeeds on master when there are no changes to the compiler.

@Keno
Copy link
Member

Keno commented Jan 28, 2026

Copy the compiler dir to a temp directory?

options = map(options) do opt
Expr(:kw, opt, true)
end
return :(Base.require($__module__, $(QuoteNode(Component))).activate!(; $(options...)))
Copy link
Member

@vtjnash vtjnash Jan 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
return :(Base.require($__module__, $(QuoteNode(Component))).activate!(; $(options...)))
return :(let M = Base.require($__module__, $(QuoteNode(Component)))
@invokelatest M.activate!(; $(options...)))
end)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugfix This change fixes an existing bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants