context.__exit__ is not called if with block returns
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- javascript, python
- Bereich
- compilers
Rechercherichtung
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.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.
- Vorherrschende Sprache
- Python
- Sterne
- 2.9k
- Forks
- 217
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus TranscryptOrg/Transcrypt
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
TranscryptOrg/Transcrypt#913 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
TranscryptOrg/Transcrypt#911 · 2 Kommentare ·
-
IS: bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
TranscryptOrg/Transcrypt#908 ·
-
Update installation and testing instructionsEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. OffenSUB: documentation
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 62/100
TranscryptOrg/Transcrypt#656 · 7 Kommentare ·
-
re: character classes are parsed as regular expressionsEvtl. vergeben @CarstenGrohmann hat das vor 41 Tagen übernommen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 76/100
TranscryptOrg/Transcrypt#914 ·
Alle Issues in TranscryptOrg/Transcrypt
Ähnliche Issues
-
enhancement good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
hatchet-dev/hatchet#5179 ·
Maintainer antworten meist innerhalb von 1 Tag
-
python-version
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug javascript P2-medium python release:v3.1
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
adrirubio/claude-deck#546 ·
Maintainer antworten meist innerhalb von 1 Tag