Currently, you would have to invoke it like so:
svc.GetObjectWithContext(ctx, &s3.GetObjectInput{Bucket: bucket, Key: key})
But... why do you have to type "s3.GetObjectInput"? The function is taking in a concrete type (not an interface) for that argument, and there is only one possible type that you can pass in... so I agree with the person above that it should be possible to elide the type like so: svc.GetObjectWithContext(ctx, &{Bucket: bucket, Key: key})
Go already supports type elision in some places, such as... []someStruct{{Field: value}, {Field: value}}
instead of having to type []someStruct{someStruct{Field: value}, someStruct{Field: value}}
which would be equally pointless repetition.[0]: https://docs.aws.amazon.com/sdk-for-go/api/service/s3/#S3.Ge...