Considérant en fait et en droit:
1. La Chambre d'accusation de la Cour de justice de la République et canton de Genève a rendu le 26 mars 2008 une ordonnance de prolongation, jusqu'au 10 avril 2008, de la détention préventive de A._, inculpé de lésions corporelles simples et de menaces à l'encontre de son épouse. A._ avait été arrêté le 21 mars 2008 sur mandat du Juge d'instruction.
2. Le 27 mars 2008, A._ a adressé au Tribunal fédéral un recours constitutionnel dirigé contre l'ordonnance de la Chambre d'accusation. Il concluait à l'annulation de cette décision et à sa mise en liberté provisoire.
Par lettre du 4 avril 2008, le recourant a informé le Tribunal fédéral de l'ordonnance du Juge d'instruction du 2 avril 2008 le mettant immédiatement en liberté provisoire.
3. La mise en liberté du recourant, prononcée par le magistrat en charge de l'affaire pénale, rend sans objet la présente procédure. Conformément à l'art. 32 al. 2 LTF, il appartient au juge instructeur du Tribunal fédéral de statuer comme juge unique sur la radiation du rôle de cette procédure. Il n'y a pas lieu de percevoir des frais judiciaires ni d'allouer des dépens (cf. art. 72 PCF par renvoi de l'art. 71 LTF).
Par ces motifs, le Juge instructeur ordonne:
1. La cause, devenue sans objet, est rayée du rôle.
2. Il n'est pas perçu de frais judiciaires.
3. Il n'est pas alloué de dépens.
4. La présente ordonnance est communiquée au mandataire du recourant, au Procureur général et à la Chambre d'accusation de la Cour de justice de la République et canton de Genève.
Lausanne, le 7 avril 2008
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Juge instructeur: Le Greffier:
Féraud Jomini