Cut the croissants into 1-inch cubes. You should have about 3 1/2 cups. Place the cubes in an ovenproof baking dish.
In a saucepan, heat the half-and-half, cream, and salt over medium-high heat, stirring occasionally to make sure the mixture doesn't burn or stick to the bottom of the pan. When the cream mixture reaches a fast simmer (do not let it boil), turn off the heat. Add the chocolate and whisk until melted.
In a large mixing bowl, whisk the eggs and sugar together. Whisking constantly, gradually add the hot chocolate-cream mixture. Strain the mixture over the croissant pieces and toss lightly. Let sit while the mixture is absorbed, at least 15 minutes. As it soaks, fold the mixture a few times to ensure even soaking.
When ready to bake, heat the oven to 350 degrees F.
Line a roasting pan that's 2 inches deep and larger than the baking dish with paper towels. Fill the pan with very hot water and place the dish of bread pudding inside. Bake until set, about 40 to 45 minutes. Serve warm, with a scoop of vanilla ice cream on each serving.