mirror of
https://github.com/golang/go
synced 2024-11-14 14:00:25 -07:00
52016be3f4
The non-unified frontend had repeated issues with inlining and generics (#49309, #51909, #52907), which led us to substantially restrict inlining when shape types were present. However, these issues are evidently not present in unified IR's inliner, and the safety restrictions added for the non-unified frontend can simply be disabled in unified mode. Fixes #54497. Change-Id: I8e6ac9f3393c588bfaf14c6452891b9640a9d1bd Reviewed-on: https://go-review.googlesource.com/c/go/+/424775 Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com> Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com>
27 lines
367 B
Go
27 lines
367 B
Go
// run
|
|
|
|
// Copyright 2021 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package main
|
|
|
|
func genfunc[T any](f func(c T)) {
|
|
var r T
|
|
|
|
f(r)
|
|
}
|
|
|
|
func myfunc(c string) {
|
|
test2(c)
|
|
}
|
|
|
|
//go:noinline
|
|
func test2(a interface{}) {
|
|
_ = a.(string)
|
|
}
|
|
|
|
func main() {
|
|
genfunc(myfunc)
|
|
}
|