@@ -1367,7 +1367,20 @@ PrecompileTools.@compile_workload begin
1367
1367
# at lowering time, not much of this would get precompiled without `@eval`
1368
1368
@eval begin
1369
1369
let
1370
+ # We don't care about this particular optimizer, but it still
1371
+ # exercises generic code paths that calls like
1372
+ # Model(HiGHS.Optimizer) also need.
1373
+ Model (
1374
+ () -> MOI. Utilities. MockOptimizer (
1375
+ MOI. Utilities. UniversalFallback (
1376
+ MOI. Utilities. Model {Float64} (),
1377
+ ),
1378
+ ),
1379
+ )
1380
+ # Use an empty model to build, which is a common use-case, and
1381
+ # doesn't bake in Utilities.MockOptimizer.
1370
1382
model = Model ()
1383
+ set_silent (model)
1371
1384
@variables (model, begin
1372
1385
x1 >= 0
1373
1386
0 <= x2 <= 1
@@ -1379,7 +1392,7 @@ PrecompileTools.@compile_workload begin
1379
1392
x8[i = 1 : 3 ; isodd (i)], (start = i)
1380
1393
end )
1381
1394
@expressions (model, begin
1382
- a, - 1 + x1 + x2
1395
+ a, 2 * x1 + 3 * x2
1383
1396
b, 1 + x1^ 2 + x2
1384
1397
nl_expr, sin (x1)
1385
1398
end )
@@ -1400,6 +1413,15 @@ PrecompileTools.@compile_workload begin
1400
1413
@objective (model, Min, x1)
1401
1414
@objective (model, Max, a)
1402
1415
@objective (model, Min, b)
1416
+ set_optimizer (
1417
+ model,
1418
+ () -> MOI. Utilities. MockOptimizer (
1419
+ MOI. Utilities. UniversalFallback (
1420
+ MOI. Utilities. Model {Float64} (),
1421
+ ),
1422
+ ),
1423
+ )
1424
+ optimize! (model)
1403
1425
end
1404
1426
end
1405
1427
end
0 commit comments