git: e57c55d79885 - main - lang/go118: Revert upstream CL 411617

From: Dmitri Goutnik <dmgk_at_FreeBSD.org>
Date: Thu, 14 Jul 2022 21:46:33 UTC
The branch main has been updated by dmgk:

URL: https://cgit.FreeBSD.org/ports/commit/?id=e57c55d798851551d17f968d8c5c457e70804505

commit e57c55d798851551d17f968d8c5c457e70804505
Author:     Dmitri Goutnik <dmgk@FreeBSD.org>
AuthorDate: 2022-07-14 17:21:29 +0000
Commit:     Dmitri Goutnik <dmgk@FreeBSD.org>
CommitDate: 2022-07-14 21:46:11 +0000

    lang/go118: Revert upstream CL 411617
    
    Revert https://go-review.googlesource.com/c/go/+/411617 that introduced
    the regression that broke security/gopass and
    security/git-credential-gopass.
    
    See https://github.com/golang/go/issues/53852 for more details.
---
 lang/go118/Makefile                                    |  2 +-
 .../patch-src_cmd_compile_internal_noder_stencil.go    | 18 ++++++++++++++++++
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/lang/go118/Makefile b/lang/go118/Makefile
index 76c33efd3968..2eae4e7b4bd4 100644
--- a/lang/go118/Makefile
+++ b/lang/go118/Makefile
@@ -2,7 +2,7 @@
 
 DISTVERSION=	1.18.4
 # Always set PORTREVISION explicitly as otherwise they are inherited from lang/go-devel
-PORTREVISION=	0
+PORTREVISION=	1
 MASTER_SITES=	https://golang.org/dl/ \
 		https://github.com/dmgk/go-bootstrap/releases/download/${BOOTSTRAP_TAG}/:bootstrap \
 		LOCAL/dmgk:bootstrap
diff --git a/lang/go118/files/patch-src_cmd_compile_internal_noder_stencil.go b/lang/go118/files/patch-src_cmd_compile_internal_noder_stencil.go
new file mode 100644
index 000000000000..350f3e289af8
--- /dev/null
+++ b/lang/go118/files/patch-src_cmd_compile_internal_noder_stencil.go
@@ -0,0 +1,18 @@
+Revert "[release-branch.go1.18] cmd/compile: fix missing dict pass for type assertions"
+https://go-review.googlesource.com/c/go/+/417615
+
+--- src/cmd/compile/internal/noder/stencil.go.orig	2022-07-12 15:22:53 UTC
++++ src/cmd/compile/internal/noder/stencil.go
+@@ -1297,10 +1297,10 @@ func (g *genInst) dictPass(info *instInfo) {
+ 				m = convertUsingDictionary(info, info.dictParam, m.Pos(), mce.X, m, m.Type(), false)
+ 			}
+ 		case ir.ODOTTYPE, ir.ODOTTYPE2:
+-			dt := m.(*ir.TypeAssertExpr)
+-			if !dt.Type().HasShape() && !dt.X.Type().HasShape() {
++			if !m.Type().HasShape() {
+ 				break
+ 			}
++			dt := m.(*ir.TypeAssertExpr)
+ 			var rt ir.Node
+ 			if dt.Type().IsInterface() || dt.X.Type().IsEmptyInterface() {
+ 				ix := findDictType(info, m.Type())