Lines Matching defs:GoodIter

385 // expected-note@+2 {{candidate function not viable: no known conversion from 'GoodIter' to 'Iter0' for 1st argument}}
397 class GoodIter {
399 GoodIter() {}
400 GoodIter(const GoodIter &) {}
401 GoodIter(int fst, int snd) {}
402 GoodIter &operator=(const GoodIter &that) { return *this; }
403 GoodIter &operator=(const Iter0 &that) { return *this; }
404 GoodIter &operator+=(int x) { return *this; }
405 explicit GoodIter(void *) {}
406 GoodIter operator++() { return *this; }
407 GoodIter operator--() { return *this; }
409 bool operator<(GoodIter a) { return true; }
410 bool operator<=(GoodIter a) { return true; }
411 bool operator>=(GoodIter a) { return false; }
415 // expected-note@+2 {{candidate function not viable: no known conversion from 'const Iter0' to 'GoodIter' for 2nd argument}}
416 // expected-note@+1 2 {{candidate function not viable: no known conversion from 'Iter1' to 'GoodIter' for 1st argument}}
417 int operator-(GoodIter a, GoodIter b) { return 0; }
419 GoodIter operator-(GoodIter a) { return a; }
421 // expected-note@+1 2 {{candidate function not viable: no known conversion from 'Iter1' to 'GoodIter' for 1st argument}}
422 GoodIter operator-(GoodIter a, int v) { return GoodIter(); }
423 // expected-note@+1 2 {{candidate function not viable: no known conversion from 'Iter0' to 'GoodIter' for 1st argument}}
424 GoodIter operator+(GoodIter a, int v) { return GoodIter(); }
425 // expected-note@+2 {{candidate function not viable: no known conversion from 'GoodIter' to 'int' for 1st argument}}
427 GoodIter operator-(int v, GoodIter a) { return GoodIter(); }
429 GoodIter operator+(int v, GoodIter a) { return GoodIter(); }
432 GoodIter begin, end;
436 for (GoodIter I = begin; I < end; ++I)
441 for (GoodIter &I = begin; I < end; ++I)
445 for (GoodIter I = begin; I >= end; --I)
450 for (GoodIter I(begin); I < end; ++I)
455 for (GoodIter I(nullptr); I < end; ++I)
460 for (GoodIter I(0); I < end; ++I)
465 for (GoodIter I(1, 2); I < end; ++I)
469 for (begin = GoodIter(0); begin < end; ++begin)
472 // expected-error@+3 {{invalid operands to binary expression ('GoodIter' and 'const Iter0')}}
489 for (GoodIter I = begin; I - I; ++I)
494 for (GoodIter I = begin; begin < end; ++I)
499 for (GoodIter I = begin; !I; ++I)
505 for (GoodIter I = begin; I >= end; I = I + 1)
509 for (GoodIter I = begin; I >= end; I = I - 1)
514 for (GoodIter I = begin; I >= end; I = -I)
520 for (GoodIter I = begin; I >= end; I = 2 + I)
525 for (GoodIter I = begin; I >= end; I = 2 - I)
625 GoodIter begin, end;
626 TC<GoodIter, 100> t1;
627 TC<GoodIter, -100> t2;
629 t2.dotest_lt(begin, end); // expected-note {{in instantiation of member function 'TC<GoodIter, -100>::dotest_lt' requested here}}
630 dotest_gt(begin, end); // expected-note {{in instantiation of function template specialization 'dotest_gt<GoodIter, 0>' requested here}}