honnef.co/go/tools@v0.5.0-0.dev.0.20240520180541-dcae280a5e87/unused/testdata/src/example.com/nested/nested.go (about)

     1  package pkg
     2  
     3  type t1 struct{} //@ used("t1", false)
     4  
     5  func (t1) fragment() {} //@ used("fragment", false)
     6  
     7  func fn1() bool { //@ used("fn1", false)
     8  	var v interface{} = t1{} //@ quiet("v")
     9  	switch obj := v.(type) { //@ quiet("obj")
    10  	case interface {
    11  		fragment() //@ quiet("fragment")
    12  	}:
    13  		obj.fragment()
    14  	}
    15  	return false
    16  }
    17  
    18  type t2 struct{} //@ used("t2", true)
    19  
    20  func (t2) fragment() {} //@ used("fragment", true)
    21  
    22  func Fn() bool { //@ used("Fn", true)
    23  	var v interface{} = t2{} //@ used("v", true)
    24  	switch obj := v.(type) { //@ used("obj", true)
    25  	case interface {
    26  		fragment() //@ used("fragment", true)
    27  	}:
    28  		obj.fragment()
    29  	}
    30  	return false
    31  }
    32  
    33  func Fn2() bool { //@ used("Fn2", true)
    34  	var v interface{} = t2{} //@ used("v", true)
    35  	switch obj := v.(type) { //@ used("obj", true)
    36  	case interface {
    37  		fragment() //@ used("fragment", true)
    38  	}:
    39  		_ = obj
    40  	}
    41  	return false
    42  }