Why do you need the for... Keywords with dual meaning is never a good idea.
Sent from my iPhone > On Sep 15, 2018, at 4:53 AM, Wojciech S. Czarnecki <o...@fairbe.org> wrote: > > On Wed, 12 Sep 2018 10:54:15 -0700 > jimmy frasche <soapboxcic...@gmail.com> wrote: > >> because that misses cases like >> type Float float64 > > I am working on constraint examples for CGG. > [https://github.com/ohir/gonerics] (Appendix A) > > With CGG `for type` contracts now you can use constraint > that allows for any custom type of base float64 > > `for type T = float64() // T must be assignable to given base via a cast` > > so example func becomes: > > func maMustFMA(a, b, c type T) type T { > > for type T = float64() > > // Here yours Float match and > // a, b, c are treated by the code as float64 > //... > > } > > I assume that this is not enough for you to narrow > contract to 'FMA capable'. Or is it? > > (As by the https://github.com/golang/go/issues/25819 > comments, given float64 compiler should know). > > Is that true? If so, what kind of constraint > (in terms of Go type system) would fit your needs > in place of below "someConstraint". > > func maMustFMA(a, b, c type T) type T { > for type ( > T = float64() > T = someConstraint // > ) > // ... > } > > Thanks in advance for the answer > > -- > Wojciech S. Czarnecki > << ^oo^ >> OHIR-RIPE > > -- > 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. > For more options, visit https://groups.google.com/d/optout. -- 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. For more options, visit https://groups.google.com/d/optout.