// RUN: %clang_cc1 -fsyntax-only -std=c++11 %s -verify 

namespace PR10457 {

  class string
  {
    string(const char* str, unsigned);

  public:
    template <unsigned N>
    string(const char (&str)[N])
      : string(str) {} // expected-error{{constructor for 'string<6U>' creates a delegation cycle}}
  };

  void f() {
    string s("hello");
  }

  struct Foo {
   Foo(int) { }


   template <typename T>
   Foo(T, int i) : Foo(i) { }
};

  void test_Foo()
  {
    Foo f(1, 1);
  }
}

namespace PR12890 {
  class Document
  {
  public:
      Document() = default;

      template <class T>
      explicit
      Document(T&& t) : Document()
      {
      }
  };
  void f()
  {
      Document d(1);
  }
}
