@@ -1391,7 +1391,20 @@ PrecompileTools.@compile_workload begin
1391
1391
# at lowering time, not much of this would get precompiled without `@eval`
1392
1392
@eval begin
1393
1393
let
1394
+ # We don't care about this particular optimizer, but it still
1395
+ # exercises generic code paths that calls like
1396
+ # Model(HiGHS.Optimizer) also need.
1397
+ Model (
1398
+ () -> MOI. Utilities. MockOptimizer (
1399
+ MOI. Utilities. UniversalFallback (
1400
+ MOI. Utilities. Model {Float64} (),
1401
+ ),
1402
+ ),
1403
+ )
1404
+ # Use an empty model to build, which is a common use-case, and
1405
+ # doesn't bake in Utilities.MockOptimizer.
1394
1406
model = Model ()
1407
+ set_silent (model)
1395
1408
@variables (model, begin
1396
1409
x1 >= 0
1397
1410
0 <= x2 <= 1
@@ -1403,7 +1416,7 @@ PrecompileTools.@compile_workload begin
1403
1416
x8[i = 1 : 3 ; isodd (i)], (start = i)
1404
1417
end )
1405
1418
@expressions (model, begin
1406
- a, - 1 + x1 + x2
1419
+ a, 2 * x1 + 3 * x2
1407
1420
b, 1 + x1^ 2 + x2
1408
1421
nl_expr, sin (x1)
1409
1422
end )
@@ -1424,6 +1437,15 @@ PrecompileTools.@compile_workload begin
1424
1437
@objective (model, Min, x1)
1425
1438
@objective (model, Max, a)
1426
1439
@objective (model, Min, b)
1440
+ set_optimizer (
1441
+ model,
1442
+ () -> MOI. Utilities. MockOptimizer (
1443
+ MOI. Utilities. UniversalFallback (
1444
+ MOI. Utilities. Model {Float64} (),
1445
+ ),
1446
+ ),
1447
+ )
1448
+ optimize! (model)
1427
1449
end
1428
1450
end
1429
1451
end
0 commit comments