.Type().(*types.Basic); ok && typ.Kind() == types.UnsafePointer {      if ptr, ok := instr.X.Type().Underlying().(*types.Pointer); ok {       if st, ok := ptr.Elem().Underlying().(*types.Struct); ok {        for i := 0; i < st.NumFields(); i++ {         // (0.0) when converting to or from unsafe.Pointer, mark all fields as used.         ctx.seeAndUse(st.Field(i), fnObj, edgeUnsafeConversion)        }       }      }     }    