digitalmars.D.learn - opDispatch not working
- Mike Brown (14/14) Jun 05 2021 Hi All,
- drug (11/30) Jun 05 2021 incomplete `cast` I would say. You did:
- Mike Brown (2/14) Jun 05 2021 Thank you!!
Hi All, Im still experimenting with WASM and D - I really would like to be able to use reference types. I think I can get there with the metaprogramming abilities in D. I'm trying to get the foundations right, I need a reference-like handle - which I've named "ptr". I'm trying to see how I can dispatch method calls to the underline object, I've tried opDispatch. https://godbolt.org/z/a1Tc4ErTv But I can't get it to fire? What am I missing? P.S. Is it also possible to provide a way to implicitly cast from ptr!byte to ptr!\<a type> ? Kind regards, Mike Brown
Jun 05 2021
05.06.2021 18:15, Mike Brown пишет:Hi All, Im still experimenting with WASM and D - I really would like to be able to use reference types. I think I can get there with the metaprogramming abilities in D. I'm trying to get the foundations right, I need a reference-like handle - which I've named "ptr". I'm trying to see how I can dispatch method calls to the underline object, I've tried opDispatch. https://godbolt.org/z/a1Tc4ErTv But I can't get it to fire? What am I missing? P.S. Is it also possible to provide a way to implicitly cast from ptr!byte to ptr!\<a type> ? Kind regards, Mike Brownincomplete `cast` I would say. You did: ```D mixin("cast(T*)obj."~name)(vals); ``` instead of ```D mixin("(cast(T*)obj)."~name)(vals); ``` i.e. you try to call method `test` using a pointer to void and then try to cast it to a pointer to T.
Jun 05 2021
On Saturday, 5 June 2021 at 15:23:09 UTC, drug wrote:05.06.2021 18:15, Mike Brown пишет:Thank you!![...]incomplete `cast` I would say. You did: ```D mixin("cast(T*)obj."~name)(vals); ``` instead of ```D mixin("(cast(T*)obj)."~name)(vals); ``` i.e. you try to call method `test` using a pointer to void and then try to cast it to a pointer to T.
Jun 05 2021