// { dg-do run  }
#include <iterator>

using namespace std;

template<size_t n, size_t i> struct PartialDotProduct {
    template<class T>
    static T Expand(T* a, T* b) { return T(); }
};

const int N = 10;

template<class In1, class In2>
typename iterator_traits<In1>::value_type
dot(In1 f1, In2 f2)
{
    return PartialDotProduct<N, 0>::Expand(f1, f2);     // line 14
}

int main()
{
    double a[N], b[N];

    double s = dot(&a[0], &b[0]);
}
