package reflect2

type safeStructType struct {
	safeType
}

func ( *safeStructType) ( string) StructField {
	,  := .Type.FieldByName()
	if ! {
		panic("field " +  + " not found")
	}
	return &safeField{StructField: }
}

func ( *safeStructType) ( int) StructField {
	return &safeField{StructField: .Type.Field()}
}

func ( *safeStructType) ( []int) StructField {
	return &safeField{StructField: .Type.FieldByIndex()}
}

func ( *safeStructType) ( func(string) bool) StructField {
	,  := .Type.FieldByNameFunc()
	if ! {
		panic("field match condition not found in " + .Type.String())
	}
	return &safeField{StructField: }
}