go version
)?рдЧреЛ рд╕рдВрд╕реНрдХрд░рдг go1.9.2 linux/amd64
рд╣рд╛рдВ
package main
import "time"
type T struct {
time.Time
}
var a map[T]string
func main() {
}
$ go vet a.go
$ [nothing reported]
$ go vet a.go
$ time.Time is not a good map key type.
рд╕рдордп рдХреА рддрд░рд╣ред рд╕рдордп, рдХреБрдЫ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рднреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдорд╛рдирдЪрд┐рддреНрд░ рдХреБрдВрдЬреА рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИрдВред
рдХреБрдЫ рднреА рд░рд┐рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛
рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдПрдХ рдкрд╢реБ рдЪрд┐рдХрд┐рддреНрд╕рдХ рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдмрд╛рд░ рд╕реЗ рдорд┐рд▓рддрд╛ рд╣реИред
рд╕рдордп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдорд╛рдиреНрдп рд╣реИред рдорд╛рдирдЪрд┐рддреНрд░ рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдордп, рдпрджрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡реИрдз рдХреЛрдб рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╢реЛрд░ рд╣реЛрдЧрд╛ред
рд▓реЗрдХрд┐рди рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ GitHub рдкрд░ рдХреБрдЫ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХрд┐рддрдиреЗ рдкреНрд░рддрд┐рд╢рдд рд╕рдордп рд╣реИред рд╕рдордп-рдХреБрдВрдЬреА рдорд╛рдирдЪрд┐рддреНрд░ рдорд╛рдиреНрдп рд╣реИрдВред
рдореИрдВрдиреЗ рдПрдХ рд▓рд┐рдВрдЯрд░ рд▓рд┐рдЦрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ: https://github.com/m3db/build-tools/blob/master/linters/badtime/README.md
рдореИрдВ рдЗрд╕реЗ рдЕрднреА gometalinter рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдЕрдм рд╡рд╣ рдкрд╢реБ рдЪрд┐рдХрд┐рддреНрд╕рдХ рдЧреЛ рдЯреЗрд╕реНрдЯ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдирдП рдЪреЗрдХ рдХреЗ рд▓рд┐рдП рдмрд╛рд░ рдФрд░ рднреА рдЕрдзрд┐рдХ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ _is_ рдХрднреА-рдХрднреА рд╕рдордп рдХреЗ рд▓рд┐рдП рдорд╛рдиреНрдп рд╣реЛрддрд╛ рд╣реИред рдорд╛рдирдЪрд┐рддреНрд░ рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдордп, рдкрд╢реБ рдЪрд┐рдХрд┐рддреНрд╕рдХ рдореЗрдВ рдЗрд╕реЗ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдареАрдХ рдирд╣реАрдВ рд╣реИред
рдЖрдк рдЗрд╕реЗ рдореЗрдЧрд╛рдЪреЗрдХ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд▓рд┐рдВрдЯрд░ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ @dominikh рд╕реЗ рдмрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдПрдХ рдкрд╢реБ рдЪрд┐рдХрд┐рддреНрд╕рдХ рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдмрд╛рд░ рд╕реЗ рдорд┐рд▓рддрд╛ рд╣реИред
рд╕рдордп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдорд╛рдиреНрдп рд╣реИред рдорд╛рдирдЪрд┐рддреНрд░ рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдордп, рдпрджрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡реИрдз рдХреЛрдб рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╢реЛрд░ рд╣реЛрдЧрд╛ред
рд▓реЗрдХрд┐рди рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ GitHub рдкрд░ рдХреБрдЫ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХрд┐рддрдиреЗ рдкреНрд░рддрд┐рд╢рдд рд╕рдордп рд╣реИред рд╕рдордп-рдХреБрдВрдЬреА рдорд╛рдирдЪрд┐рддреНрд░ рдорд╛рдиреНрдп рд╣реИрдВред