There are two major diff() functions in MATLAB. One of them is the numeric difference operator, roughly
x(:, 2:end) - x(:, 1:end-1)
This is applicable only to numeric arrays. A function handle is not a numeric array so this kind of diff() does not apply to it.
The other major diff() function is part of the Symbolic Toolbox. The first parameter to it must be a symbolic array, or a symbolic function. The operation performed is calculus differentiation. A function handle is not a symbolic array and is not a symbolic function, so this kind of diff() does not apply to it.
There is no diff() function defined to operate on function handles.
What you need is