https://llvm.org/bugs/show_bug.cgi?id=29123

            Bug ID: 29123
           Summary: std::tuple compilation errors with implicit conversion
                    constructors
           Product: libc++
           Version: 3.9
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: All Bugs
          Assignee: unassignedclangb...@nondot.org
          Reporter: akotul...@fb.com
                CC: e...@efcs.ca, llvm-bugs@lists.llvm.org,
                    mclow.li...@gmail.com
    Classification: Unclassified

Created attachment 17037
  --> https://llvm.org/bugs/attachment.cgi?id=17037&action=edit
compilation error message

I encountered this error when trying to use libcxx from 3.9 release and trunk
from around August 1st. The same code works with 3.8 release

Repro: compile following example with libc++:
clang -c -std=c++14 repro.cpp -stdlib=libc++

// repro.cpp
// this is minimized code from folly library
#include<tuple>
template<class Value>
struct Optional {
  // implicit
  Optional(const Value& newValue) {}
};

struct dynamic {
  // implicit
  template<class T> dynamic(T t);
};

Optional<std::tuple<dynamic>> get();

void test() { auto x = get(); }

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to