// compile // Copyright 2020 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. // Ensure that late expansion correctly handles an OpIData with type interface{} package p type S struct{} func (S) M() {} type I interface { M() } func f(i I) { o := i.(interface{}) if _, ok := i.(*S); ok { o = nil } println(o) }