12b8756b6f1de65d3f8bffab45be6c44ceb7411fcMiao Wang#include "../Eigen/Sparse" 22b8756b6f1de65d3f8bffab45be6c44ceb7411fcMiao Wang 32b8756b6f1de65d3f8bffab45be6c44ceb7411fcMiao Wangusing namespace Eigen; 42b8756b6f1de65d3f8bffab45be6c44ceb7411fcMiao Wang 52b8756b6f1de65d3f8bffab45be6c44ceb7411fcMiao Wangvoid call_ref(Ref<SparseMatrix<float> > a) { } 62b8756b6f1de65d3f8bffab45be6c44ceb7411fcMiao Wang 72b8756b6f1de65d3f8bffab45be6c44ceb7411fcMiao Wangint main() 82b8756b6f1de65d3f8bffab45be6c44ceb7411fcMiao Wang{ 92b8756b6f1de65d3f8bffab45be6c44ceb7411fcMiao Wang SparseMatrix<float> a(10,10); 102b8756b6f1de65d3f8bffab45be6c44ceb7411fcMiao Wang SparseMatrixBase<SparseMatrix<float> > &ac(a); 112b8756b6f1de65d3f8bffab45be6c44ceb7411fcMiao Wang#ifdef EIGEN_SHOULD_FAIL_TO_BUILD 122b8756b6f1de65d3f8bffab45be6c44ceb7411fcMiao Wang call_ref(ac); 132b8756b6f1de65d3f8bffab45be6c44ceb7411fcMiao Wang#else 142b8756b6f1de65d3f8bffab45be6c44ceb7411fcMiao Wang call_ref(ac.derived()); 152b8756b6f1de65d3f8bffab45be6c44ceb7411fcMiao Wang#endif 162b8756b6f1de65d3f8bffab45be6c44ceb7411fcMiao Wang} 17