Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace go-multierror with errors.Join #32140

Open
jar-b opened this issue Jun 21, 2023 · 3 comments
Open

Replace go-multierror with errors.Join #32140

jar-b opened this issue Jun 21, 2023 · 3 comments
Labels
go Pull requests that update Go code technical-debt Addresses areas of the codebase that need refactoring or redesign.

Comments

@jar-b
Copy link
Member

jar-b commented Jun 21, 2023

Description

Go 1.20 introduced the ability to wrap multiple errors. This presents an opportunity to replace github.com/hashicorp/go-multierror with the standard library.

References

Relates #32108.
Relates hashicorp/terraform#34794.

Would you like to implement a fix?

None

@jar-b jar-b added the technical-debt Addresses areas of the codebase that need refactoring or redesign. label Jun 21, 2023
@github-actions
Copy link

Community Note

Voting for Prioritization

  • Please vote on this issue by adding a 👍 reaction to the original post to help the community and maintainers prioritize this request.
  • Please see our prioritization guide for information on how we prioritize.
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request.

Volunteering to Work on This Issue

  • If you are interested in working on this issue, please leave a comment.
  • If this would be your first contribution, please review the contribution guide.

@ewbankkit
Copy link
Contributor

% grep go-multierror internal/**/*.go  
internal/generate/checknames/main.go:	multierror "github.com/hashicorp/go-multierror"
internal/generate/servicepackage/main.go:	multierror "github.com/hashicorp/go-multierror"
internal/generate/tagstests/main.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/acm/certificate_validation.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/acmpca/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/apigateway/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/apigatewayv2/sweep.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/appconfig/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/applicationinsights/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/appmesh/sweep.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/appstream/user_stack_association.go:	"github.com/hashicorp/go-multierror"
internal/service/appstream/wait.go:	"github.com/hashicorp/go-multierror"
internal/service/appsync/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/backup/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/backup/vault.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/batch/sweep.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/cloudformation/errors.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/cloudformation/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/cloudfront/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/cognitoidp/find.go:	"github.com/hashicorp/go-multierror"
internal/service/comprehend/document_classifier.go:	"github.com/hashicorp/go-multierror"
internal/service/comprehend/entity_recognizer.go:	"github.com/hashicorp/go-multierror"
internal/service/configservice/sweep.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/connect/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/dataexchange/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/datapipeline/pipeline_definition.go:	"github.com/hashicorp/go-multierror"
internal/service/devicefarm/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/directconnect/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/dlm/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/ds/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/dynamodb/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/dynamodb/table.go:	"github.com/hashicorp/go-multierror"
internal/service/ec2/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/ec2/vpc_network_interface.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/ec2/wait.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/ecr/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/ecs/sweep.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/efs/sweep.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/eks/sweep.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/elasticache/engine_version.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/elasticache/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/elasticbeanstalk/environment.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/elasticbeanstalk/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/elasticsearch/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/elb/load_balancer.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/elbv2/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/emr/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/events/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/events/target.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/evidently/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/fis/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/fsx/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/gamelift/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/globalaccelerator/sweep.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/glue/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/grafana/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/guardduty/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/iam/role.go:	"github.com/hashicorp/go-multierror"
internal/service/iam/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/iam/user.go:	"github.com/hashicorp/go-multierror"
internal/service/imagebuilder/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/inspector2/enabler.go:	"github.com/hashicorp/go-multierror"
internal/service/inspector2/enabler_test.go:	"github.com/hashicorp/go-multierror"
internal/service/iot/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/kendra/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/kinesisanalytics/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/kinesisanalyticsv2/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/kms/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/lambda/sweep.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/lexmodels/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/lightsail/instance_public_ports.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/lightsail/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/location/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/mwaa/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/networkfirewall/logging_configuration.go:	"github.com/hashicorp/go-multierror"
internal/service/networkmanager/core_network.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/networkmanager/sweep.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/opensearch/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/opsworks/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/qldb/sweep.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/quicksight/wait.go:	"github.com/hashicorp/go-multierror"
internal/service/rds/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/redshift/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/redshiftserverless/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/route53/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/route53recoverycontrolconfig/sweep.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/route53resolver/sweep.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/rum/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/sagemaker/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/schemas/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/servicecatalog/provisioned_product.go:	"github.com/hashicorp/go-multierror"
internal/service/servicecatalog/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/servicediscovery/service.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/ses/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/sesv2/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/sns/sms_preferences_test.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/ssm/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/ssoadmin/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/synthetics/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/transfer/server.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/waf/sweep.go:	"github.com/hashicorp/go-multierror"
internal/service/wafregional/sweep.go:	"github.com/hashicorp/go-multierror"
% grep go-multierror internal/**/*.go | grep -v sweep
internal/generate/checknames/main.go:	multierror "github.com/hashicorp/go-multierror"
internal/generate/servicepackage/main.go:	multierror "github.com/hashicorp/go-multierror"
internal/generate/tagstests/main.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/acm/certificate_validation.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/appstream/user_stack_association.go:	"github.com/hashicorp/go-multierror"
internal/service/appstream/wait.go:	"github.com/hashicorp/go-multierror"
internal/service/backup/vault.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/cloudformation/errors.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/cognitoidp/find.go:	"github.com/hashicorp/go-multierror"
internal/service/comprehend/document_classifier.go:	"github.com/hashicorp/go-multierror"
internal/service/comprehend/entity_recognizer.go:	"github.com/hashicorp/go-multierror"
internal/service/datapipeline/pipeline_definition.go:	"github.com/hashicorp/go-multierror"
internal/service/dynamodb/table.go:	"github.com/hashicorp/go-multierror"
internal/service/ec2/vpc_network_interface.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/ec2/wait.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/elasticache/engine_version.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/elasticbeanstalk/environment.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/elb/load_balancer.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/events/target.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/iam/role.go:	"github.com/hashicorp/go-multierror"
internal/service/iam/user.go:	"github.com/hashicorp/go-multierror"
internal/service/inspector2/enabler.go:	"github.com/hashicorp/go-multierror"
internal/service/inspector2/enabler_test.go:	"github.com/hashicorp/go-multierror"
internal/service/lightsail/instance_public_ports.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/networkfirewall/logging_configuration.go:	"github.com/hashicorp/go-multierror"
internal/service/networkmanager/core_network.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/quicksight/wait.go:	"github.com/hashicorp/go-multierror"
internal/service/servicecatalog/provisioned_product.go:	"github.com/hashicorp/go-multierror"
internal/service/servicediscovery/service.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/sns/sms_preferences_test.go:	multierror "github.com/hashicorp/go-multierror"
internal/service/transfer/server.go:	multierror "github.com/hashicorp/go-multierror"

@ewbankkit ewbankkit added the go Pull requests that update Go code label Mar 10, 2024
@ewbankkit
Copy link
Contributor

Deal with uses of multierror.Group in a separate PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
go Pull requests that update Go code technical-debt Addresses areas of the codebase that need refactoring or redesign.
Projects
None yet
Development

No branches or pull requests

2 participants