code: def test_neighbors_pickle_nofit(tmpdir, datatype, data_info):
      result = {}
      """
      .. note:: This test digs down a bit far into the
      internals of the implementation, but it's
      important that regressions do not occur
      from changes to the class.
      """
  
      def create_mod():
          nrows, ncols, n_info, k = data_info
          X_train, _, X_test = make_dataset(
              datatype, nrows, ncols, n_info
          )
          model = cuml.neighbors.NearestNeighbors()
          result["model"] = model
          return model, [X_train, X_test]
  
      def assert_model(loaded_model, X):
          state = loaded_model.__dict__
          assert state["n_indices"] == 0
          assert "_fit_X" not in state
          loaded_model.fit(X[0])
  
          state = loaded_model.__dict__
  
          assert state["n_indices"] == 1
          assert "_fit_X" in state
  
      pickle_save_load(tmpdir, create_mod, assert_model)
  
imports: from sklearn.model_selection import train_test_split
  from sklearn.manifold import trustworthiness
  from sklearn.datasets import load_iris, make_classification, make_regression
  from sklearn.base import clone
  from cuml.testing.utils import array_equal, unit_param, stress_param, ClassEnumerator, get_classes_from_package, compare_svm, compare_probabilistic_svm
  from cuml.tsa.arima import ARIMA
  import pytest
  import pickle
  import cuml
  from cuml.internals.safe_imports import cpu_only_import, cpu_only_import_from
label_desc: Use image node_id 15 for calling a global function with example usage: test_neighbors_pickle_nofit(tmpdir, datatype, data_info) and returns: model,  list