class_docstr: Accept non-negative integers.
  
  .. deprecated:: 3.0.0
  
      Use ``NonNegative(Int)`` instead.
code: def validate(self, value: Any, detail: bool = True) -> None:
      super().validate(value, detail)
  
      if not (0 <= value):
          raise ValueError(
              f"expected non-negative integer, got {value!r}"
          )
  
imports: from __future__ import annotations
  import logging
  from typing import Any, TypeVar, Union
  from ...util.deprecation import deprecated
  from .bases import Init, Property, SingleParameterizedProperty, TypeOrInst
  from .primitive import Float, Int
  from .singletons import Intrinsic, Undefined
label_desc: Use image node_id 2 for calling the NonNegativeInt obj's underlying member method code with example usage: obj.validate(value, detail) without return types