Add extension to GenOpt#237
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #237 +/- ##
==========================================
- Coverage 80.80% 0.00% -80.81%
==========================================
Files 20 28 +8
Lines 2021 3005 +984
==========================================
- Hits 1633 0 -1633
- Misses 388 3005 +2617 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Your PR requires formatting changes to meet the project's style guidelines. Please run: julia --project=@runic -e 'using Pkg; Pkg.add("Runic")'
julia --project=@runic -e "using Runic; exit(Runic.main(ARGS))" -- --fix <files>(or Note: the full diff is omitted because it can exceed GitHub Actions input limits. |
|
Sry-the Metal issue probably was me closing the ci laptop lid |
sshin23
left a comment
There was a problem hiding this comment.
I’m fine with whatever changes to ExaModelsMOI.jl are needed to make GenOpt work, though I’m not sure whether ExaModelsGenOpt.jl should be stored in the ExaModels.jl repository. Wouldn’t it make more sense to keep it in GenOpt.jl instead?
| Map a Symbol to the corresponding Julia function. Used by both ExaModelsMOI | ||
| and ExaModelsGenOpt for expression tree conversion. | ||
| """ | ||
| function op(s::Symbol) |
There was a problem hiding this comment.
Why was this moved from ExaModelsMOI.jl?
|
Looks like there are no type piracy concerns |
Good question. My feeling is that it might be easier to maintain here because ExaModelsMOI.jl and ExaModelsGenOpt.jl are intertwined in a non-trivial way. If we added an ExaModels extension to GenOpt instead, it would mean that what we put in |
To add GenOpt support to ExaModels, the current approach in https://github.com/blegat/GenOpt.jl/blob/main/src/examodels.jl was to copy-paste the MOI wrapper of ExaModels and then hack it.
In this PR, I'd like to see if it's possible to extend the MOI wrapper here because since it's heavily dependent on the internals of the MOI wrappers, it will be easier to maintain it in the same repo as the MOI wrapper