Faits:
Faits:
A. A deux reprises, X._ a entretenu des relations sexuelles non protégées avec Y._, sans la prévenir qu'il était porteur du virus HIV. Il l'a également menacée de la "crever".
Par jugement du 20 février 2004, le Tribunal correctionnel de l'arrondissement de Lausanne a reconnu X._ coupable de menaces et l'a condamné de ce fait à une amende de 300 fr. Il l'a libéré des chefs de crime manqué de lésions corporelles graves et de délit manqué de propagation d'une maladie de l'homme.
Par jugement du 20 février 2004, le Tribunal correctionnel de l'arrondissement de Lausanne a reconnu X._ coupable de menaces et l'a condamné de ce fait à une amende de 300 fr. Il l'a libéré des chefs de crime manqué de lésions corporelles graves et de délit manqué de propagation d'une maladie de l'homme.
B. Le 9 mars 2004, X._ a présenté au Tribunal d'accusation du Tribunal cantonal du canton de Vaud une demande d'indemnité au sens de l'<ref-law>/VD, aux termes duquel l'inculpé et l'accusé libérés des fins de la poursuite pénale, qui ne l'ont ni provoquée ni compliquée fautivement, peuvent obtenir de l'Etat, du plaignant ou de la partie civile une indemnité équitable pour le préjudice résultant de l'instruction et pour leur frais de défense.
Le 9 juin 2004, le Tribunal d'accusation a rejeté la requête. Il a considéré que X._ savait qu'il était séropositif, qu'il n'en avait pas averti sa partenaire, qu'il s'était borné à se dire atteint d'une maladie du sang et qu'à la question de Y._ de savoir s'il était porteur du virus HIV, il avait opposé le silence.
Le 9 juin 2004, le Tribunal d'accusation a rejeté la requête. Il a considéré que X._ savait qu'il était séropositif, qu'il n'en avait pas averti sa partenaire, qu'il s'était borné à se dire atteint d'une maladie du sang et qu'à la question de Y._ de savoir s'il était porteur du virus HIV, il avait opposé le silence.
C. Agissant par la voie du recours de droit public, X._ demande au Tribunal fédéral d'annuler la décision du 9 juin 2004 et de renvoyer la cause au Tribunal d'accusation pour nouvelle décision au sens des considérants. Il invoque l'art. 6 par. 2 CEDH, ainsi l'art. 9 Cst. prohibant l'arbitraire. Il requiert l'assistance judiciaire.
Le Tribunal d'accusation se réfère à sa décision. Le Ministère public conclut au rejet du recours.

Le Tribunal fédéral considère en droit:
Le Tribunal fédéral considère en droit:
1. Hormis des exceptions non réalisées en l'espèce, le recours de droit public n'a qu'un effet cassatoire (art. 90 al. 1 let. b OJ; <ref-ruling> consid. 1.2.1 p. 131/132, 173 consid. 1.5 p. 176; <ref-ruling> consid. 1b p. 53; <ref-ruling> consid. 1c p. 216/217, et les arrêts cités). La conclusion du recours tendant au renvoi de la cause au Tribunal d'accusation pour nouvelle décision au sens des considérants est partant irrecevable.
1. Hormis des exceptions non réalisées en l'espèce, le recours de droit public n'a qu'un effet cassatoire (art. 90 al. 1 let. b OJ; <ref-ruling> consid. 1.2.1 p. 131/132, 173 consid. 1.5 p. 176; <ref-ruling> consid. 1b p. 53; <ref-ruling> consid. 1c p. 216/217, et les arrêts cités). La conclusion du recours tendant au renvoi de la cause au Tribunal d'accusation pour nouvelle décision au sens des considérants est partant irrecevable.
2. Le recourant se prévaut de la présomption d'innocence. Il ne prétend pas que l'<ref-law>/VD lui offrirait des garanties allant au-delà de celles des art. 32 al. 1 Cst. et 6 par. 2 CEDH. Tel qu'il est formulé, le grief de violation arbitraire du droit cantonal se confond avec le moyen tiré de la présomption d'innocence.
Celle-ci interdit de prendre une décision défavorable au prévenu libéré en laissant entendre qu'il est probablement coupable de l'infraction reprochée. Pour que les frais puissent être mis à la charge du prévenu libéré, il ne suffit pas qu'il se soit comporté dans la procédure de manière contraire à l'éthique. Il faut encore qu'il ait clairement violé une norme de comportement, écrite ou non écrite, résultant de l'ordre juridique suisse pris dans son ensemble - dans le sens d'une application par analogie des principes qui découlent de l'<ref-law> - et qu'il ait ainsi occasionné la procédure pénale ou qu'il en ait entravé le cours; le comportement fautif doit être déterminant et se trouver en relation de causalité avec les frais imputés (<ref-ruling> consid. 1b p. 334; <ref-ruling>). Le juge doit se référer aux principes généraux de la responsabilité délictuelle (ATF <ref-ruling> consid. 2c p. 168) et fonder son prononcé sur des faits incontestés ou déjà clairement établis (<ref-ruling> consid. 2a in fine p. 374).
Le Tribunal fédéral examine avec une cognition pleine s'il ressort de l'arrêt, de manière directe ou indirecte, que le prévenu libéré est condamné aux frais parce qu'il est coupable; il examine pour le surplus sous l'angle restreint de l'arbitraire l'appréciation de l'autorité cantonale selon laquelle le comportement du prévenu libéré serait répréhensible du point de vue civil ou que ce comportement aurait provoqué la procédure pénale ou en aurait entravé le cours (ATF <ref-ruling> consid. 2f p. 175).
Le Tribunal fédéral examine avec une cognition pleine s'il ressort de l'arrêt, de manière directe ou indirecte, que le prévenu libéré est condamné aux frais parce qu'il est coupable; il examine pour le surplus sous l'angle restreint de l'arbitraire l'appréciation de l'autorité cantonale selon laquelle le comportement du prévenu libéré serait répréhensible du point de vue civil ou que ce comportement aurait provoqué la procédure pénale ou en aurait entravé le cours (ATF <ref-ruling> consid. 2f p. 175).
3. Le recourant reproche au Tribunal d'accusation d'avoir retenu contre lui qu'il n'avait pas informé sa partenaire de sa séropositivité. Il estime que sur ce point, la décision attaquée diverge du jugement d'acquittement du 20 février 2004.
3.1 A peine de violer la présomption d'innocence, la décision relative à l'indemnisation ne peut s'écarter du jugement d'acquittement pour ce qui est de l'appréciation du caractère illicite ou fautif du comportement à raison duquel l'action pénale a été mise en branle (arrêt 1P.764/1990 du 27 juin 1991, consid. 5).
3.2 A l'époque des faits, le recourant savait qu'il était porteur du virus HIV. Il n'en a pas averti spontanément sa partenaire. Toutefois, il a indiqué être atteint d'une infection du sang. A la question de savoir s'il s'agissait du virus HIV, il n'a pas répondu. Pour interpréter le sens et la portée de ce demi-mensonge, le Tribunal correctionnel a considéré que la plaignante aurait dû tenir le silence du recourant comme une réponse affirmative implicite à la question posée. En outre, comme personne avertie, elle aurait de toute manière dû s'abstenir de relations sexuelles non protégées avec un inconnu. En fin de compte, le Tribunal correctionnel a mis le recourant au bénéfice du doute, parce qu'il n'avait pas manifesté la volonté délibérée de prendre le risque d'infecter sa partenaire.
Pour sa part, le Tribunal d'accusation a tenu le comportement du recourant pour fautif (dans le sens d'une application analogique de l'<ref-law>), parce qu'il avait créé une situation dangereuse pour la plaignante. Celle-ci avait le droit d'être informée clairement et complètement de la maladie du recourant, avant d'entretenir des relations sexuelles non protégées avec lui. Même si certaines formulations maladroites de la décision attaquée pourraient laisser accroire à une qualification pénale de la faute retenue contre le recourant, notamment lorsque le Tribunal d'accusation lui reproche d'avoir "sciemment exposé" sa partenaire "à un risque potentiellement mortel", il n'en demeure pas moins que la décision attaquée repose, pour l'essentiel de sa motivation, sur l'argument que l'absence d'information claire et spontanée du recourant quant à son état de santé a porté atteinte à la personnalité de la plaignante, protégée par le droit civil.
Pour sa part, le Tribunal d'accusation a tenu le comportement du recourant pour fautif (dans le sens d'une application analogique de l'<ref-law>), parce qu'il avait créé une situation dangereuse pour la plaignante. Celle-ci avait le droit d'être informée clairement et complètement de la maladie du recourant, avant d'entretenir des relations sexuelles non protégées avec lui. Même si certaines formulations maladroites de la décision attaquée pourraient laisser accroire à une qualification pénale de la faute retenue contre le recourant, notamment lorsque le Tribunal d'accusation lui reproche d'avoir "sciemment exposé" sa partenaire "à un risque potentiellement mortel", il n'en demeure pas moins que la décision attaquée repose, pour l'essentiel de sa motivation, sur l'argument que l'absence d'information claire et spontanée du recourant quant à son état de santé a porté atteinte à la personnalité de la plaignante, protégée par le droit civil.
4. Le recourant soutient qu'il n'avait pas l'obligation d'informer sa partenaire de sa séropositivité. Aucune faute au sens du droit civil ne pourrait lui être reprochée à cet égard. Le Tribunal fédéral examine cette question sous l'angle restreint de l'arbitraire (consid. 2 ci-dessus).
4.1 Une décision est arbitraire lorsqu'elle viole gravement une norme ou un principe juridique clair et indiscuté, ou lorsqu'elle contredit d'une manière choquante le sentiment de la justice et de l'équité; le Tribunal fédéral ne s'écarte de la solution retenue par l'autorité cantonale de dernière instance que si elle apparaît insoutenable, en contradiction manifeste avec la situation effective, adoptée sans motifs objectifs et en violation d'un droit certain. En outre, il ne suffit pas que les motifs de la décision critiquée soient insoutenables, encore faut-il que cette dernière soit arbitraire dans son résultat (<ref-ruling> consid. 2.1 p. 9, 173 consid. 3.1 p. 178, et les arrêts cités).
4.2 Le virus HIV peut conduire à terme à l'apparition chez le porteur d'une déficience immunitaire incurable (SIDA). Il se transmet notamment lors de relations sexuelles. Des rapports non protégés avec des inconnus présentent à cet égard un risque d'infection qui ne doit pas être pris à la légère. Lorsque les partenaires en question renoncent à faire usage du préservatif, moyen de protection recommandé, celui qui se sait infecté par le virus HIV a l'obligation d'en avertir l'autre, clairement, préalablement et spontanément (cf. <ref-ruling> consid. 3f et g p. 254).
Sans doute le porteur du virus HIV a-t-il aussi le droit à la protection de sa sphère privée, qui inclut celui de taire sa séropositivité ou, du moins, de n'être pas tenu de la signaler sans nécessité. Tel n'est cependant pas le cas lorsque, comme en l'occurrence, les mesures élémentaires de précaution ne sont pas prises. Pour le surplus, il n'est pas nécessaire de trancher la question de savoir si le devoir d'information existe aussi lorsque sont envisagées des relations sexuelles protégées.
4.3 En conclusion, le Tribunal d'accusation pouvait sans arbitraire admettre que le recourant avait agi fautivement au sens du droit civil. Le refus de toute indemnité n'était ainsi pas incompatible avec la présomption d'innocence.
4.3 En conclusion, le Tribunal d'accusation pouvait sans arbitraire admettre que le recourant avait agi fautivement au sens du droit civil. Le refus de toute indemnité n'était ainsi pas incompatible avec la présomption d'innocence.
5. Le recours doit être rejeté dans la mesure où il est recevable. Le recourant requiert l'assistance judiciaire, dont les conditions sont remplies (art. 152 OJ). Il convient de statuer sans frais, de désigner Me Alexandre Reil, avocat à Lausanne, comme défenseur d'office du recourant, et d'allouer à Me Reil une indemnité à titre d'honoraires. Il n'y a pas lieu d'allouer des dépens (art. 159 OJ).

Par ces motifs, le Tribunal fédéral prononce:
Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté dans la mesure où il est recevable.
1. Le recours est rejeté dans la mesure où il est recevable.
2. La demande d'assistance judiciaire est admise.
2. La demande d'assistance judiciaire est admise.
3. Il n'est pas perçu d'émolument judiciaire.
3. Il n'est pas perçu d'émolument judiciaire.
4. Me Alexandre Reil, avocat à Lausanne, est désigné comme défenseur d'office du recourant. Il est alloué à Me Reil une indemnité de 1000 fr. à titre d'honoraires.
4. Me Alexandre Reil, avocat à Lausanne, est désigné comme défenseur d'office du recourant. Il est alloué à Me Reil une indemnité de 1000 fr. à titre d'honoraires.
5. Le présent arrêt est communiqué en copie au mandataire du recourant, ainsi qu'au Ministère public et au Tribunal d'accusation du Tribunal cantonal du canton de Vaud.
Lausanne, le 20 août 2004
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le juge présidant: Le greffier: