databricks-cli/libs/dyn
Pieter Noordhuis ceefa80d72
Pass copy of `dyn.Path` to callback function (#1747)
## Changes

Some call sites hold on to the `dyn.Path` provided to them by the
callback. It must therefore never be mutated after the callback returns,
or these mutations leak out into unknown scope.

This change means it is no longer possible for this failure mode to
happen.

## Tests

Unit test.
2024-09-05 11:05:16 +00:00
..
convert Add `dyn.Time` to box a timestamp with its original string value (#1732) 2024-08-29 13:02:34 +00:00
dynassert Define `dyn.Mapping` to represent maps (#1301) 2024-03-25 11:01:09 +00:00
dynvar Track multiple locations associated with a `dyn.Value` (#1510) 2024-07-16 11:27:27 +00:00
merge Add `dyn.Time` to box a timestamp with its original string value (#1732) 2024-08-29 13:02:34 +00:00
yamlloader Add `dyn.Time` to box a timestamp with its original string value (#1732) 2024-08-29 13:02:34 +00:00
yamlsaver Add `dyn.Time` to box a timestamp with its original string value (#1732) 2024-08-29 13:02:34 +00:00
kind.go Add `dyn.Time` to box a timestamp with its original string value (#1732) 2024-08-29 13:02:34 +00:00
kind_test.go Define `dyn.Mapping` to represent maps (#1301) 2024-03-25 11:01:09 +00:00
location.go Retain location annotation when expanding globs for pipeline libraries (#1274) 2024-03-11 21:59:36 +00:00
location_test.go Define `dyn.Mapping` to represent maps (#1301) 2024-03-25 11:01:09 +00:00
mapping.go Use dynamic walking to validate unique resource keys (#1614) 2024-07-29 13:04:02 +00:00
mapping_test.go Define `dyn.Mapping` to represent maps (#1301) 2024-03-25 11:01:09 +00:00
path.go Make `Append` function to `dyn.Path` return independent slice (#1295) 2024-03-19 09:49:26 +00:00
path_string.go Rename libs/config -> libs/dyn (#1086) 2023-12-22 13:20:45 +00:00
path_string_test.go Define `dyn.Mapping` to represent maps (#1301) 2024-03-25 11:01:09 +00:00
path_test.go Define `dyn.Mapping` to represent maps (#1301) 2024-03-25 11:01:09 +00:00
pattern.go Track multiple locations associated with a `dyn.Value` (#1510) 2024-07-16 11:27:27 +00:00
pattern_test.go Define `dyn.Mapping` to represent maps (#1301) 2024-03-25 11:01:09 +00:00
time.go Add `dyn.Time` to box a timestamp with its original string value (#1732) 2024-08-29 13:02:34 +00:00
time_test.go Add `dyn.Time` to box a timestamp with its original string value (#1732) 2024-08-29 13:02:34 +00:00
value.go Add `dyn.Time` to box a timestamp with its original string value (#1732) 2024-08-29 13:02:34 +00:00
value_test.go Track multiple locations associated with a `dyn.Value` (#1510) 2024-07-16 11:27:27 +00:00
value_underlying.go Add `dyn.Time` to box a timestamp with its original string value (#1732) 2024-08-29 13:02:34 +00:00
value_underlying_test.go Add `dyn.Time` to box a timestamp with its original string value (#1732) 2024-08-29 13:02:34 +00:00
visit.go Pass copy of `dyn.Path` to callback function (#1747) 2024-09-05 11:05:16 +00:00
visit_get.go Add `dyn.MapByPattern` to map a function to values with matching paths (#1266) 2024-03-08 14:33:01 +00:00
visit_get_test.go Define `dyn.Mapping` to represent maps (#1301) 2024-03-25 11:01:09 +00:00
visit_map.go Pass copy of `dyn.Path` to callback function (#1747) 2024-09-05 11:05:16 +00:00
visit_map_test.go Ignore `dyn.NilValue` when traversing value from `dyn.Map` (#1547) 2024-07-01 13:00:31 +00:00
visit_set.go Define `dyn.Mapping` to represent maps (#1301) 2024-03-25 11:01:09 +00:00
visit_set_test.go Define `dyn.Mapping` to represent maps (#1301) 2024-03-25 11:01:09 +00:00
visit_test.go Pass copy of `dyn.Path` to callback function (#1747) 2024-09-05 11:05:16 +00:00
walk.go Use `dyn.InvalidValue` to indicate absence (#1507) 2024-06-19 15:24:57 +00:00
walk_test.go Use `dyn.InvalidValue` to indicate absence (#1507) 2024-06-19 15:24:57 +00:00