Norm of diff of discrete functions segfaults in bindings

Copied over from Github.

calling

abs_err = compute_L2_bochner_norm(
    reference_temporal_grid,
    spatial_norm=lambda t: compute_H1_norm(
        spatial_grid,
        reference_interpolation.evaluate(t) - coarse_interpolation_on_reference_grid.evaluate(t)))

fails but

def H1_error(t):
    a = reference_interpolation.evaluate(t)
    b = coarse_interpolation_on_reference_grid.evaluate(t)
    return H1_norm(spatial_grid, a - b)
abs_err = L2_bochner_norm(
    reference_temporal_grid,
    spatial_norm=H1_error)

resolves this.

This could be a bug in operator- in the functions bindings in dune-xt.