Ah sorry, I misunderstood. Please disregard :)
On Wed, Jun 17, 2020, 20:36 Axel Wagner <[email protected]>
wrote:
> You can always combine multiple interface constraints:
>
> type ConstraintA(type A) interface {
> Foo() A
> }
>
> type ConstraintB(type B) interface {
> Bar() B
> }
>
> type CombinedConstraint(type A, B) interface {
> (ConstraintA(A))
> (ConstraintB(B))
> }
>
> func F(type A, B CombinedConstraint(A, B)) (...) { ... }
>
> So I don't think removing contracts prevents you from getting the same if
> you find it more readable.
>
> On Wed, Jun 17, 2020, 18:58 Denis Cheremisov <[email protected]>
> wrote:
>
>> IMO a groups of constraints are horrible with interfaces
>>
>> type CommonResponse(type E) interface {
>> GetError() E
>> }
>>
>> type CommonError interface {
>> GetCode() int32
>> }
>>
>> func IsOK(type R CommonResponse(E), E CommonError)(r R) bool {
>> switch r.GetError().GetCode() {
>> case 0, 200, 201:
>> return true
>> default:
>> return false
>> }
>> }
>>
>> vs
>>
>> constract CommmonResponse(R, E) {
>> R GetError() E
>> E GetCode() int32
>> }
>>
>> func IsOK(type R, E CommonResponse)(r R) bool {
>> switch r.GetError().GetCode() {
>> case 0, 200, 201:
>> return true
>> default:
>> return false
>> }
>> }
>>
>> That trickery with commas to express dependcy of types is hard
>>
>> --
>> 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 [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/golang-nuts/4e25a228-4c96-44ba-b33a-bbde3460ea2ao%40googlegroups.com
>> <https://groups.google.com/d/msgid/golang-nuts/4e25a228-4c96-44ba-b33a-bbde3460ea2ao%40googlegroups.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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/golang-nuts/CAEkBMfH_NvKTi5yZgaHNuM%3D3nGhUdHvcgogOibS-WdQEga1JSw%40mail.gmail.com.