blob: b7b535d5ad075029b9a32760d95c4fa57782f2b6 [file] [log] [blame]
// { 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]);
}