Put the dried cherries in a small saucepan and add enough pomegranate juice to just cover. Bring to the boil, then take off the heat and leave the cherries to sit and plump up (they need at least 30 minutes, but longer is fine).
Bring the cream, milk and salt to the boil in a heavy-based saucepan with the cardamom, then leave for 15 minutes off the heat. Beat the eggs, egg yolk and sugar together. Pour the warm milk mixture on to this, stirring constantly. Slice the brioche, butter it and layer it in a 2 litre (3½ pint) ovenproof dish, scattering the soaked cherries and any leftover pomegranate juice on as you layer the bread (try to get most of the cherries under the bread, or they might burn).
Add some rose water to the egg and cream mixture – not too much – and a squeeze of lemon or lime juice, then taste it. You should be able to detect the rose water, but it shouldn’t be too strong. Brands differ in strength, so you have to taste and decide if you need a little more.
Pour the egg and milk mixture evenly over the layers of bread. Leave the pudding to sit for 30 minutes; this will make it lighter.
Preheat the oven to 180°C fan (375°F), Gas Mark 5.
Put the dish into a roasting tin and carefully pour enough boiling water into the tin to come about one-third of the way up the sides of the dish. Bake for 40–45 minutes, or until puffy, golden and just set on the top. Leave to cool slightly – the pudding will continue to cook in the residual heat for a while – then dust with icing sugar before serving.