No capítulo 10 da Gramática da Língua Portuguesa de Mira Mateus e outras, 5.ª edição, é possível encontrar um conjunto de testes que permitem identificar a função sintáctica dos constituintes de uma frase.
Na caso do sujeito, um dos testes é a substituição da expressão a testar pelo pronome pessoal nominativo que lhe corresponde, se for uma expressão nominal, ou pelo demonstrativo isso, se se tratar de uma frase. No exemplo «Há livros raros», assumindo que «livros raros» seja sujeito, o pronome pessoal nominativo que lhe pode ser associado é eles. Fazendo o teste, teremos: «*Eles há /*há eles». Por outro lado, no caso de pretendermos saber se uma dada expressão é complemento directo, poderemos, igualmente, substituir essa expressão pelo pronome pessoal acusativo adequado, que na expressão em apreço será os: «Há-os».
Com base neste teste, «livros raros» não é sujeito, é, sim, complemento directo, pelo que Cunha e Cintra estão certos, pelo menos face a este exemplo concreto. Se é sempre assim, ou se há excepções, terá de ser feita uma análise individual de cada frase com que nos deparemos.
Note-se, ainda, que é possível pronominalizar apenas livros: «Há-os raros». Se assim interpretarmos a frase, então raros será predicativo do complemento directo. Saliento que ambas as interpretações são possíveis.