code: def test_filter_custom_vjp_nonarray_residual():
      @eqx.filter_custom_vjp
      def f(x):
          return 2 * x
  
      @f.def_fwd
      def f_fwd(_, x):
          return 2 * x, object()
  
      @f.def_bwd
      def f_bwd(token, ct, _, x):
          return 2 * ct
  
      jax.grad(f)(1.0)
  
imports: import warnings
  from typing import Union
  import equinox
  import jax
  import jax.numpy
  import jax.random
  import jax.tree_util
  import numpy
  import pytest
  from .helpers import tree_allclose
label_desc: Use image node_id 20 for calling a global function with example usage: test_filter_custom_vjp_nonarray_residual() and returns: unknown, unknown,  object, unknown