The code below (simplified from my actual problem) generates a
warning that member function b "requires a dual-context, which is
deprecated".
However when I look at the list of deprecated features [1], I'm
not seeing which one this is referring to. Is it a valid
deprecation?
I could only find this [2] reference to dual-contexts, which
suggests that the problem relates to passing aliases into member
functions. Moving it to a member function fixes the problem.
Alternately, I could make the alias part of Foo's type. My use
case it is just a little easier structured like this, but I get
that there are workarounds.
My bigger question is about why it isn't listed more than
anything. I.e., should I file something in bugzilla.
```d
struct Foo
{
double a;
this(double x)
{
this.a = x;
}
double b(alias inverse)()
{
return inverse(a);
}
}
void main()
{
auto foo = Foo(2.0);
auto x = foo.b!(a => (10.0 ^^ a))();
}
```
[1] https://dlang.org/deprecate.html
[2]
https://forum.dlang.org/thread/mkeumwltwiimkrelg...@forum.dlang.org