diff --git a/src/Utilities/print.jl b/src/Utilities/print.jl index c9aff0ea8d..87cc0602c9 100644 --- a/src/Utilities/print.jl +++ b/src/Utilities/print.jl @@ -268,7 +268,7 @@ function _to_string( f::MOI.AbstractVectorFunction, ) rows = map(fi -> _to_string(options, model, fi), scalarize(f)) - max_length = maximum(length.(rows)) + max_length = mapreduce(length, max, rows; init = 0) s = join(map(r -> string("│", rpad(r, max_length), "│"), rows), '\n') return string( "┌", diff --git a/test/Utilities/test_print.jl b/test/Utilities/test_print.jl index a22f12e67c..87e5bc1fc3 100644 --- a/test/Utilities/test_print.jl +++ b/test/Utilities/test_print.jl @@ -762,6 +762,22 @@ function test_print_constraint_name_unsupported() return end +function test_print_zero_dimensional_function() + for f in Any[ + MOI.VectorOfVariables(MOI.VariableIndex[]), + MOI.VectorAffineFunction(MOI.VectorAffineTerm{Float64}[], Float64[]), + MOI.VectorQuadraticFunction( + MOI.VectorQuadraticTerm{Float64}[], + MOI.VectorAffineTerm{Float64}[], + Float64[], + ), + MOI.VectorNonlinearFunction(MOI.ScalarNonlinearFunction[]), + ] + @test sprint(show, f) == "┌┐\n\n└┘" + end + return +end + end TestPrint.runtests()