// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s // rdar://20281011 namespace std { template class initializer_list { }; } namespace cva { template class Matrix { public: typedef VT value_type; inline __attribute__((always_inline)) value_type& at(); }; template using Vector = Matrix; template using RGBValue = Vector; using RGBFValue = RGBValue; template class Matrix { // expected-note {{passing argument to parameter here}} public: typedef VT value_type; Matrix(const unsigned int nRows, const unsigned int nColumns, const value_type* data = nullptr); Matrix(const std::initializer_list& list) = delete; // expected-note {{'Matrix' has been explicitly marked deleted here}} }; void getLaplacianClosedForm() { Matrix winI(0, 3); RGBFValue* inputPreL; winI = { inputPreL->at() }; // expected-error {{call to deleted constructor of 'cva::Matrix &&'}} } }