context.__exit__ is not called if with block returns
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- javascript, python
- Domaine
- compilers
Piste de recherche
Start by reproducing the provided Python context-manager example and tracing the compiler path that generates the shown JavaScript for the with block. The fix is done when exit is called before a return leaves the block, while exception handling still behaves as shown.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Please transcrypt the following code:
class Context:
def __enter__(self):
print("enter")
def __exit__(self, exc_type, exc_val, exc_tb):
print("exit")
return False
def main():
with Context():
print("exit is not called")
return
document.addEventListener('DOMContentLoaded', main)
The main function ist transcripted to
export var main = function () {
var __withid0__ = Context ();
try {
__withid0__.__enter__ ();
print ('exit is not called');
return ;
__withid0__.__exit__ ();
}
catch (__except0__) {
if (! (__withid0__.__exit__ (__except0__.name, __except0__, __except0__.stack))) {
throw __except0__;
}
}
};
As you can see the return statement is generated before calling exit.
- Langage dominant
- Python
- Étoiles
- 2.9k
- Forks
- 218
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de TranscryptOrg/Transcrypt
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
TranscryptOrg/Transcrypt#913 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
TranscryptOrg/Transcrypt#911 · 2 commentaires ·
-
IS: bug
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
TranscryptOrg/Transcrypt#908 ·
-
Update installation and testing instructionsPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. OuverteSUB: documentation
Difficulté 1/5 Moins d'une heure Accessibilité débutants 62/100
TranscryptOrg/Transcrypt#656 · 7 commentaires ·
-
re: character classes are parsed as regular expressionsPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 76/100
TranscryptOrg/Transcrypt#914 ·
Toutes les issues de TranscryptOrg/Transcrypt
Issues similaires
-
Device Details tables: FS/SF columns contradict each other (nfet_01v8 Vt row, pfet_01v8 Idsat row)Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
google/skywater-pdk#450 ·
-
Drained trajectory arrays are overwritten when the sequence buffer is reusedPeut-être pris @sylvesterkaczmarek l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
google-deepmind/bsuite#56 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
LearningCircuit/local-deep-research#7206 ·
Les mainteneurs répondent en général sous 1 jour
-
[TASK] Document technology stackOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
chingu-voyages/V62-tier3-team-33#285 ·
Les mainteneurs répondent en général sous 1 jour
-
Proxy drops log notifications from backends that don't send FastMCP's msg/extra dictPeut-être pris @asasemahmed l’a pris aujourd’hui. Ouvertebug server
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour