When you say "polymorphism", I think you might mean "inheritance"?
(Go-with-generics already has two kinds of polymorphism)

I don't really understand what you're trying to accomplish here. Perhaps
you could explain your motivation a bit more?


On Fri, 3 Jul 2020, 21:22 Aleksandar Milovanović, <aleksan...@videobolt.net>
wrote:

> If someone is interested I simplified the code, commented some more and
> added the unmarshall json in the example -
> https://go2goplay.golang.org/p/I_ezQ9wyWVx.
>
> Still, I don't know how to type the BuildEmptySpec() in BoxBaseI better
> than to return a simple interface{}... If it would
> return BoxSpecI(BoxBaseI) it would not be enough.
>
> Aleksandar
>
>
>
> On Fri, Jul 3, 2020 at 1:54 PM Aleksandar Milovanović <
> aleksan...@videobolt.net> wrote:
>
>> Hi guys,
>>
>> Thanks for the effort, it is much needed for quite some time. I really
>> appreciate the way of introducing the changes, go2go tool and open
>> discussion, so I wanted to review them and participate with feedback so you
>> can do the best job of understanding the world. With proposed changes, I
>> think extending language to support something similar to polymorphism might
>> be cheap.
>>
>> Consider this go playground: https://go2goplay.golang.org/p/jqA4ccWeAKD.
>>
>> Syntax is awkward currently (some syntax sugar is definitively needed),
>> but the point in the test below stands - you do have polymorphic slice, you
>> can use base fields and methods, and you can cast to the child structure
>> (which contains all the fields and methods from the base). json marshaling
>> was added to the example, json unmarshal could be implemented similarly,
>> but in that case we need provided mapping from base structure to the
>> specialized one, which can't be typed with current generics (for some of
>> it, interface{} and reflect would be needed). Could provide that example as
>> well, if needed.
>>
>> Sending this idea as I think it might be interesting, and I think you
>> might get some more ideas out of it.
>>
>> Aleksandar
>>
> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-nuts+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/golang-nuts/CAG9NSAWtK%3DeUR9%2B_vCb0X5yun6VF3SB6WOkfq5%2B-cX7KXNQ9vg%40mail.gmail.com
> <https://groups.google.com/d/msgid/golang-nuts/CAG9NSAWtK%3DeUR9%2B_vCb0X5yun6VF3SB6WOkfq5%2B-cX7KXNQ9vg%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CAJhgacjHm8b0K%3DZ8Urspgu1P1a0%2BUhWPK-vXzkA4An%3D-rRDTKg%40mail.gmail.com.

Reply via email to