On Tuesday, 1 September 2020 at 18:19:55 UTC, Andrey Zherikov wrote:
The thing I'm trying to implement is: I have a function foo(string s)() and some "state"; this function should override this "state" (using "s" param) for all code within this function (note that code can execute other modules that can refer to the same "state"). The problem is that I need this overridden "state" to be compile-time constant to be used in mixin. Any ideas how I can do this?

In regular code it should look like this:

private string[] state;

string getCurrentState()
{
  return state[$-1];
}

void foo(string s)
{
  state ~= s;
  scope(exit) state = state[0..$-1];

  ...
}

Reply via email to