code: def test_construct_from_scalar(value):
      value = cudf.utils.dtypes.to_cudf_compatible_scalar(value)
      x = cudf.Scalar(
          value, value.dtype if not isinstance(value, Decimal) else None
      )
      y = cudf.Scalar(x)
      assert (
          x.value == y.value or np.isnan(x.value) and np.isnan(y.value)
      )
  
      # check that this works:
      y.device_value
  
      x._is_host_value_current == y._is_host_value_current
      x._is_device_value_current == y._is_device_value_current
  
imports: import datetime
  import re
  from decimal import Decimal
  import numpy
  import pandas
  import pyarrow
  import pytest
  import rmm
  import cudf
  from cudf._lib.copying import get_element
  from cudf.testing._utils import ALL_TYPES, DATETIME_TYPES, NUMERIC_TYPES, TIMEDELTA_TYPES
label_desc: Use image node_id 17 for calling a global function with example usage: test_construct_from_scalar(value) without return types