Skip to content

Qualify constructor methods in extensions#550

Merged
ChrisRackauckas merged 1 commit intoSciML:masterfrom
ChrisRackauckas-Claude:qualify-extension-constructors
Feb 9, 2026
Merged

Qualify constructor methods in extensions#550
ChrisRackauckas merged 1 commit intoSciML:masterfrom
ChrisRackauckas-Claude:qualify-extension-constructors

Conversation

@ChrisRackauckas-Claude
Copy link
Copy Markdown
Contributor

Summary

  • Replaces import Surrogates: X with using Surrogates: X, Surrogates in all extension modules
  • Explicitly qualifies constructor methods as Surrogates.X(...) instead of relying on implicit method extension
  • This is the recommended approach for Julia 1.12+ to silence precompilation warnings about unqualified constructor extension in package extensions

Context

This is a rebase of #548 by @danielwe onto current master (which includes #549). While #549 switched from using to import (which also allows method extension), this PR uses explicit module qualification which is the approach recommended by the Julia 1.12 deprecation warning:

Hint: To silence the warning, qualify AbstractGPSurrogate as Surrogates.AbstractGPSurrogate in the method signature or explicitly import Surrogates: AbstractGPSurrogate.

Both approaches work, but explicit qualification is more robust and clearer in intent.

Test plan

  • CI passes — no functional changes, only import/qualification style

🤖 Generated with Claude Code

Adds explicit module qualification to constructor methods added in
extensions, replacing `import` with `using` and qualifying constructors
as `Surrogates.X(...)`. This is the recommended approach for Julia 1.12+
to avoid precompilation warnings about unqualified constructor extension.

Based on PR SciML#548 by @danielwe, rebased onto current master.

Co-Authored-By: Daniel Wennberg <daniel.wennberg@gmail.com>
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas ChrisRackauckas merged commit 3555738 into SciML:master Feb 9, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants