def test_basic3(self):
        """
        Test that a dispatcher object *without* a pre-compiled overload
        can be used as input to another function with locked-down signature and
        that it behaves as a truly generic function (foo1 does not get locked)
        """
        a = 1

        @njit
        def foo1(x):
            return x + 1

        @njit
        def foo2(x):
            return x + 2

        int_int_fc = types.FunctionType(types.int64(types.int64,))

        @njit(types.int64(int_int_fc))
        def bar(fc):
            return fc(a)

        self.assertEqual(bar(foo1) + 1, bar(foo2))

        Test that a dispatcher object *without* a pre-compiled overload
        can be used as input to another function with locked-down signature and
        that it behaves as a truly generic function (foo1 does not get locked)
        
numba/tests/test_function_type.py