As part of the [Symbol.dispose] integration, the Timeout return type of setTimeout and setInterval support disposing (#48633). This was stabilized last week (#58467).
I think this integration should be removed, as the web platform setTimeout / setInterval do not support Symbol.dispose and never can, because it returns a number.
This means that folks may start writing new code that is incompatible between browser and Node, just because they use the Symbol.dispose integration here. That would be unfortunate.
It would also cause one more incompatibility between server side platforms with web setTimeout, and Node setTimeout (e.g Cloudflare Workers) (cc @jasnell).
@mcollina said in person that this was made stable recently enough to still remove it.
As part of the
[Symbol.dispose]integration, theTimeoutreturn type ofsetTimeoutandsetIntervalsupport disposing (#48633). This was stabilized last week (#58467).I think this integration should be removed, as the web platform
setTimeout/setIntervaldo not supportSymbol.disposeand never can, because it returns anumber.This means that folks may start writing new code that is incompatible between browser and Node, just because they use the
Symbol.disposeintegration here. That would be unfortunate.It would also cause one more incompatibility between server side platforms with web
setTimeout, and NodesetTimeout(e.g Cloudflare Workers) (cc @jasnell).@mcollina said in person that this was made stable recently enough to still remove it.