func ValidateModulePinsUniqueByIdentity(modulePins []ModulePin) error {
	seenModulePins := make(map[string]struct{})
	for _, modulePin := range modulePins {
		moduleIdentityString := modulePin.IdentityString()
		if _, ok := seenModulePins[moduleIdentityString]; ok {
			return fmt.Errorf("module %s appeared twice", moduleIdentityString)
		}
		seenModulePins[moduleIdentityString] = struct{}{}
	}
	return nil
}
// ValidateModulePinsUniqueByIdentity returns an error if the module pins contain any duplicates.
//
// This only checks remote, owner, repository.
ValidateModulePinsUniqueByIdentity returns an error if the module pins contain any duplicates.

This only checks remote, owner, repository.
// ValidateModulePinsUniqueByIdentity returns an error if the module pins contain any duplicates . // // This only checks remote owner repository .
func ValidateModulePinsUniqueByIdentity(modulePins []ModulePin) error {
	seenModulePins := make(map[string]struct{})
	for _, modulePin := range modulePins {
		moduleIdentityString := modulePin.IdentityString()
		if _, ok := seenModulePins[moduleIdentityString]; ok {
			return fmt.Errorf("module %s appeared twice", moduleIdentityString)
		}
		seenModulePins[moduleIdentityString] = struct{}{}
	}
	return nil
}
func ValidateModulePinsUniqueByIdentity ( modulePins [ ] ModulePin ) error { seenModulePins := make ( map [ string ] struct { } ) for _ , modulePin := range modulePins { moduleIdentityString := modulePin . IdentityString ( ) if _ , ok := seenModulePins [ moduleIdentityString ] ; ok { return fmt . Errorf ( " " , moduleIdentityString ) } seenModulePins [ moduleIdentityString ] = struct { } { } } return nil }
ValidateModulePinsUniqueByIdentity returns an error if the module pins contain any duplicates.
ValidateModulePinsUniqueByIdentity returns an error if the module pins contain any duplicates .