platform_build_blueprint/optional
Cole Faust ad00dd50bf Return an Optional[T] from Configurable.Get()
Previously, Configurable.Get() copied the value in the property,
because it needed to return a pointer in order to indicate whether
the property was set or not. Now, it returns a ConfigurableOptional[T],
which is the same as the pointer, but it prevents users from altering
the pointed-to value, so we don't need to copy it.

There are still copies for slice properties, because those are also
pointers. In the future we may want to consider making an ImmutableList
type to use instead.

Bug: 323382414
Test: m nothing --no-skip-soong-tests
Change-Id: Ic9ed5ba269d10158e3eac1fea272555c9fa5c0e8
2024-05-21 14:48:39 -07:00
..
optional.go Return an Optional[T] from Configurable.Get() 2024-05-21 14:48:39 -07:00