I'm overloading it for a sort of proxy object which contains a pointer to a 
vtable with field offsets and type information, to give seamless access to the 
fields of the target through the proxy. The entire thing is generated by a 
macro, so I could simply generate getters and setters as you suggest, but 
wouldn't the same problem still occur? The compiler will look for a `pos` 
getter, find one with takes an `IKinetic`, check if `g` is convertible to that 
and re-trigger the concept checks.

> That would make any further development of your codebase really tricky.

Could you please elaborate on that?

> Otherwise you might want to look into parameter constraints You can make sure 
> that your custom dot template is only called for identifier for example.

Well, what I really want is for it to not get called inside the concept. The 
key is to avoid anything that may trigger a convertibility check (into 
IKinetic) from the concept. I'll check your link and see if I can cook 
something up. 

Reply via email to