diff --git a/src/macros.jl b/src/macros.jl index 2ba87cd6e49..9d6545afac9 100644 --- a/src/macros.jl +++ b/src/macros.jl @@ -944,6 +944,13 @@ function model_convert(model::AbstractModel, con::VectorConstraint) ) end +function model_convert(model::AbstractModel, x::VariableConstrainedOnCreation) + return VariableConstrainedOnCreation( + x.scalar_variable, + model_convert(model, x.set), + ) +end + # TODO: update 3-argument @constraint macro to pass through names like @variable """ @@ -2737,12 +2744,9 @@ macro variable(args...) ) end end - buildcall = :(build_variable( - $_error, - $scalar_variables, - model_convert($model, $set), - )) + buildcall = :(build_variable($_error, $scalar_variables, $set)) end + buildcall = :(model_convert($model, $buildcall)) new_name_code = if isempty(set_string_name_kw_args) Expr(:if, :(set_string_names_on_creation($model)), name_code, "") else diff --git a/src/sets.jl b/src/sets.jl index d95b46b95ff..1b9a2c059a3 100644 --- a/src/sets.jl +++ b/src/sets.jl @@ -371,7 +371,3 @@ end function moi_set(set::Parameter{T}) where {T} return MOI.Parameter{T}(set.value) end - -function model_convert(model::AbstractModel, set::Parameter) - return Parameter(convert(value_type(typeof(model)), set.value)) -end