Open feefladder opened 3 years ago
Hi @Joeperdefloep, sorry for the wait, I've been silent in this repository for too long.
any_object
actually implicitly defines VarIntent.OUT
, so I think in theory it shouldn't be possible to have a model with another process making reference to it and changing its value.
xs.foreign(..., intent='out')
reference to such variable should raise an error at model creationxs.foreign(..., intent='in')
reference should raise an error at simulation runtime (read-only property)
Since the
any_object
class does not specify intent and is passed (AFAIK) as-is to other processes, there could be concurrency problems when multiple processes try to mutate it.possible solutions
This could be solved manually by the user once custom dependencies are in effect. However, it may be nice to also add intent and strict checking for the
any_object
class