pulumi/pkg/codegen/go
Fraser Waters 571fadae3f Use slice.Prealloc instead of make([]T, 0, ...)
Fixes https://github.com/pulumi/pulumi/issues/12738

https://github.com/pulumi/pulumi/pull/11834 turned on the prealloc
linter and changed a load of slice uses from just `var x T[]` to `x :=
make([]T, 0, preallocSize)`. This was good for performance but it turns
out there are a number of places in the codebase that treat a `nil`
slice as semnatically different to an empty slice.

Trying to test that, or even reason that through for every callsite is
untractable, so this PR replaces all expressions of the form `make([]T,
0, size)` with a call to `slice.Prealloc[T](size)`. When size is 0 that
returns a nil array, rather than an empty array.
2023-06-29 11:27:50 +01:00
..
gen_program_test all: gofmt -w -s 2023-01-10 19:03:24 -08:00
doc.go all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
doc_test.go sdk/go: Remove 'nolint' directives from package docs 2023-01-06 09:06:47 -08:00
gen.go Use slice.Prealloc instead of make([]T, 0, ...) 2023-06-29 11:27:50 +01:00
gen_crd2pulumi.go Use slice.Prealloc instead of make([]T, 0, ...) 2023-06-29 11:27:50 +01:00
gen_program.go Fix aliasing package names using dashes when schema doesn't include go package info override 2023-06-20 18:11:47 +02:00
gen_program_expression_test.go test(codegen/go): Fix broken TestLiteralExpression 2023-06-20 12:25:42 -07:00
gen_program_expressions.go Use slice.Prealloc instead of make([]T, 0, ...) 2023-06-29 11:27:50 +01:00
gen_program_json.go all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
gen_program_optionals.go [codegen/go] Improve optional params in invoke 2022-02-01 11:44:40 -08:00
gen_program_read_dir.go all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
gen_program_splat.go all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
gen_program_ternaries.go all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
gen_program_test.go Go module support as component resources in program-gen 2023-05-08 16:20:04 +02:00
gen_program_utils.go [programgen/dotnet,go] Implement singleOrNone intrinsic 2023-06-11 16:23:33 -07:00
gen_spill.go all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
gen_test.go Use slice.Prealloc instead of make([]T, 0, ...) 2023-06-29 11:27:50 +01:00
importer.go Add `modulePath` to go 2022-10-10 16:01:53 -07:00
test.go all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
utilities.go pkg/codegen/go: Prefer contract.Assertf over contract.Assert 2023-02-13 16:27:39 -08:00
utilities_test.go ci: radical idea - what if slow tests & no stdout makes GH consider runner dead? 2022-03-06 14:52:13 -08:00