On Friday, 9 March 2018 at 13:47:34 UTC, Basile B. wrote:
I would need this to work:
```
struct Foo
{
TypeInfo typeCache;
TypeInfo getTypeCache()
{
alias NotThePoint = ubyte;
if (typeCache is null)
typeCache = typeid(NotThePoint);
return typeCache;
}
TypeInfo type() const
{
alias NothrowType = TypeInfo delegate() const;
return (cast(NothrowType) &getTypeCache)();
}
}
void main(){}
```
But get:
Error: mutable method `Foo.getTypeCache` is not callable using
a `const` `this`
- `type()` really has to be const because it's used in an
opEquals that's used by an AA (key is const so opEquals has to
as well)
- `typeCache` is not used to compare 2 Foos so it really
doesn't matter if it get assigned.
Solved...The error message helped much actually... problem is
`this` is `const`
https://run.dlang.io/is/UOR2i2