pulumi/sdk/go/common/env
Ian Wahbe ae66618d4c Handle recursive types
This PR adds 3 behaviors to the `pretty.Formatter` type.

1. A inner string method that accommodates state.
2. A visit function that allows pre-processing to discover recursive
types and apply tags to them.
3. A hash function that allows structural hashing on recursive types.

Together, this allows pretty-printing recursive types, regardless of
the pointers are. This allows `(0x1)Object{ key: *0x1 }` to be the same
as `(0x1)Object{ key: (0x2)Object{ key: *0x1 }}`.

Turn on pretty printing of types in all cases

Speed up printing by memoizing object hashes
2023-01-13 11:28:13 -08:00
..
env.go Handle recursive types 2023-01-13 11:28:13 -08:00