Package level generics may look less confusing.
package abc(Key,Value)
contract CompileCheck(a1 Key, a2 Value) {
//...
}
type Pair struct {
K Key
Package level generics may look less confusing.
package abc(Key,Value)
contract CompileCheck(a1 Key, a2 Value) {
//...
}
type Pair struct {
K Key
For gosh sakes, don't make us read code with the scrutiny of a compiler :-) A type declaration after a function name is confusingly similar to an argument list.
Which witch is which?
func Stuff(type T Something)(input T) error { ... }
func Stuffed(input Somethingelse) error { ... }
C++ style is fine; variations on paren placement can be considered
(type T, U) Something // line break or semicolon
(type V) // more on next line