summaryrefslogtreecommitdiff
path: root/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/types/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/types/README.md')
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/types/README.md39
1 files changed, 0 insertions, 39 deletions
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/types/README.md b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/types/README.md
deleted file mode 100644
index da662f4a..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/types/README.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# Consul `types` Package
-
-The Go language has a strong type system built into the language. The
-`types` package corrals named types into a single package that is terminal in
-`go`'s import graph. The `types` package should not have any downstream
-dependencies. Each subsystem that defines its own set of types exists in its
-own file, but all types are defined in the same package.
-
-# Why
-
-> Everything should be made as simple as possible, but not simpler.
-
-`string` is a useful container and underlying type for identifiers, however
-the `string` type is effectively opaque to the compiler in terms of how a
-given string is intended to be used. For instance, there is nothing
-preventing the following from happening:
-
-```go
-// `map` of Widgets, looked up by ID
-var widgetLookup map[string]*Widget
-// ...
-var widgetID string = "widgetID"
-w, found := widgetLookup[widgetID]
-
-// Bad!
-var widgetName string = "name of widget"
-w, found := widgetLookup[widgetName]
-```
-
-but this class of problem is entirely preventable:
-
-```go
-type WidgetID string
-var widgetLookup map[WidgetID]*Widget
-var widgetName
-```
-
-TL;DR: intentions and idioms aren't statically checked by compilers. The
-`types` package uses Go's strong type system to prevent this class of bug.