diff --git a/pkg/codegen/go/gen_program.go b/pkg/codegen/go/gen_program.go index 602b6a02173a..bbff50318e9f 100644 --- a/pkg/codegen/go/gen_program.go +++ b/pkg/codegen/go/gen_program.go @@ -447,12 +447,16 @@ func (g *generator) collectConvertImports( // // Fully solving this is deferred for later: // TODO[pulumi/pulumi#8324]. - if expr, ok := call.Args[0].(*model.TemplateExpression); ok { - if lit, ok := expr.Parts[0].(*model.LiteralValueExpression); ok && - model.StringType.AssignableFrom(lit.Type()) && + switch arg0 := call.Args[0].(type) { + case *model.TemplateExpression: + if lit, ok := arg0.Parts[0].(*model.LiteralValueExpression); ok && call.Type().AssignableFrom(lit.Type()) { return } + case *model.ScopeTraversalExpression: + if call.Type().AssignableFrom(arg0.Type()) { + return + } } g.collectTypeImports(program, schemaType, pulumiImports) } diff --git a/pkg/codegen/testing/test/program_driver.go b/pkg/codegen/testing/test/program_driver.go index 55ce391408eb..c7c6dbac7d83 100644 --- a/pkg/codegen/testing/test/program_driver.go +++ b/pkg/codegen/testing/test/program_driver.go @@ -57,7 +57,6 @@ var PulumiPulumiProgramTests = []ProgramTest{ { Directory: "assets-archives", Description: "Assets and archives", - SkipCompile: codegen.NewStringSet("go"), }, { Directory: "synthetic-resource-properties", diff --git a/pkg/codegen/testing/test/testdata/assets-archives-pp/go/assets-archives.go b/pkg/codegen/testing/test/testdata/assets-archives-pp/go/assets-archives.go index 20ff72edd51d..aee1f238ced7 100644 --- a/pkg/codegen/testing/test/testdata/assets-archives-pp/go/assets-archives.go +++ b/pkg/codegen/testing/test/testdata/assets-archives-pp/go/assets-archives.go @@ -1,7 +1,6 @@ package main import ( - "github.com/pulumi/pulumi-aws/sdk/v5/go/aws" "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/lambda" "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/s3" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"