Is there a max number of tx outputs allowed by consensus?

It seems good for preventing an UTXO bloat by restricting max number of outputs of TX(or block) can have. Is there such a restriction? if there is, which part of source code should I read? If not, why not?