tc39/test262

top-level using

Chiusa

#5073 aperta il 19 giu 2026

 (1 commento) (0 reazioni) (0 assegnatari)JavaScript (469 fork)batch import
coveragehelp wanted

Metriche repository

Star
 (2073 stelle)
Metriche merge PR
 (Merge medio 12g 12h) (9 PR mergiate in 30 g)

Descrizione

Our XS engine has supported Explicit Resource Management for years behind a flag. We are preparing to enable that by default, now that the proposal has achieved Stage 4. 🎉 Despite passing 100% of Explicit Resource Management tests in test262, we found that XS was not invoking [Symbol.dispose] when exiting the top-level of a module (see example below). Perhaps it is worth extending test262 coverage to ensure this is handled correctly and consistently.

class Foo {
	close() {
		trace(`Dispose!\n`);
	}
	toString() {
		return "I'm foo";
	}
	static {
		this.prototype[Symbol.dispose] = this.prototype.close;
	}
}

using x = new Foo
trace(x, "\n");

Guida contributor