memilio
memilio copied to clipboard
Overload of test_commuters depends on provided Simulation
Bug description
There appears to be an inconsistency in overload resolution for test_commuters depending on how mio::Graph is instantiated.
Observed behavior
If we define the graph in examples/ode_secir_graph.cpp as:
mio::Graph<mio::SimulationNode<FP, mio::osecir::Simulation<FP>>, mio::MobilityEdge<FP>> g;
then the correct test_commuters overload of the SECIR model is found (by correcting https://github.com/SciCompMod/memilio/issues/1383, https://github.com/SciCompMod/memilio/issues/1384).
However, if we instead define it as:
mio::Graph<mio::SimulationNode<FP, mio::Simulation<FP, mio::osecir::Model<FP>>>, mio::MobilityEdge<FP>> g;
the correct SECIR overload of test_commuters is not selected and instead the empty fallback version is used.
Is that intentional or a bug?
Version
Windows
To reproduce
./../build/bin/ode_secir_graph_example
Relevant log output
Add any relevant information, e.g. used compiler, screenshots.
Checklist
- [ ] Attached labels, especially loc:: or model:: labels.
- [ ] Linked to project