Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Polynomials.@variable clashes with JuMP.@variable #506

Open
niclasmattsson opened this issue Jun 8, 2023 · 3 comments
Open

Polynomials.@variable clashes with JuMP.@variable #506

niclasmattsson opened this issue Jun 8, 2023 · 3 comments

Comments

@niclasmattsson
Copy link

The introduction of the convenience macro @variable a few months ago was somewhat inconvenient for me since it clashes with the same macro in JuMP, resulting in WARNING: both Polynomials and JuMP export "@variable"; uses of it in module Main must be qualified. So now either I import Polynomials and prefix every method with Polynomials.whatever(), or I have to import everything I need explicitly. Admittedly this is not a huge inconvenience, but @variable wasn't a game-changing addition for Polynomials either and might in retrospect have been better named differently.

Namespace clashes with the giants of the Julia ecosystem need to be carefully considered, and JuMP is certainly one of those. At this point though renaming it would be a breaking change, so please revisit this issue if you need to change the API surface of Polynomials some time in the future.

@jverzani
Copy link
Member

jverzani commented Jun 8, 2023

Oops, I checked some other packages for a conflict, but not JuMP. Thanks for reporting.

@jverzani
Copy link
Member

jverzani commented Jun 8, 2023

Yeah, this was a mistake on my part. I apologize for the extra inconvenience, as this macro was definitely not a game changer.

jverzani added a commit to jverzani/Polynomials.jl that referenced this issue Jun 8, 2023
@niclasmattsson
Copy link
Author

No problem - again, this was just a one-line fix for me. I mostly raised the issue because things like this really increase friction for newbies.

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

No branches or pull requests

2 participants