An unpivoted QR factorization produces a triangular factor $R$. A rank-revealing QR factorization is typically done with column pivoting. My question is, how does an unpivoted QR factorization fail to reveal rank? If a matrix is singular, then a diagonal element of $R$ must be zero or tiny. And this element is almost always (as far as I can tell) the bottom left element.