Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adds support to ApplyT to automatically coerce new type wrappers when calling the provided functions. With this change, the following is valid: var idout pu.IDOutput = ... idout.ApplyT(func(id string) string { // ... }) Note that this does not use `To{Type}Output` methods at this time. We will likely want to add that in the future given #11750. We can do that in a backwards compatible way. This coerces only those values that are defined with language-level type wrappers in the following form: type ID string This *does not* coerce types with different undedrlying representations. Specifically, the following conversons are not supported even though they're supported by Go using the `T(v)` syntax. string => int string => []byte []byte => string The choice to convert between these types should be made explicitly by the user so that they get the semantics they want. Resolves #11784
- Loading branch information
Showing
3 changed files
with
83 additions
and
1 deletion.
There are no files selected for viewing
4 changes: 4 additions & 0 deletions
4
...g/20230118--sdk-go--coerces-outputs-to-applyt-functions-if-the-types-are-convertible.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
changes: | ||
- type: feat | ||
scope: sdk/go | ||
description: Coerces output values in ApplyT calls if the types are equivalent. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters