Hi Rezvan,

You're absolutely right. We'd assumed that the GitHub repository was 
authoritative.

Thank you!

On Wednesday, April 23, 2025 at 1:31:42 PM UTC-4 [email protected] wrote:

> Hi,
>
> We followed spec text 
> <https://tc39.es/proposal-explicit-resource-management/#sec-getdisposemethod> 
> to implement the feature. According to that:
>
> GetDisposeMethod
> ... 
> a. Let method be ? GetMethod(V, @@asyncDispose).
> b. If method is *undefined*, then
>       i. Set method to ? GetMethod(V, @@dispose).
>
> So when the [Symbol.asyncDispose] is defined, [Symbol.dispose] will not be 
> used. I am not sure why the description in the Github repository is not 
> consistent with the spec text.
>
> Please let me know if you have any other questions!
> Bests,
> Rezvan
>
> On Wed, Apr 23, 2025 at 10:04 AM Marja Hölttä <[email protected]> wrote:
>
>> cc rezvan
>>
>> On Wed, Apr 23, 2025 at 5:44 PM ClearScript Developers <
>> [email protected]> wrote:
>>
>>> Hello!
>>>
>>> Consider the following:
>>>
>>> async function foo() {
>>>     await using x = { [Symbol.asyncDispose]: 0, [Symbol.dispose]: () => 
>>> {} };
>>> }
>>> await foo();
>>>
>>> This throws "TypeError: Symbol(Symbol.asyncDispose) is not a function".
>>>
>>> Is that a bug? According to our reading of the proposal 
>>> <https://github.com/tc39/proposal-explicit-resource-management>, the 
>>> synchronous fallback should be used if [Symbol.asyncDispose] exists but 
>>> isn't a function. From the proposal:
>>>
>>> let $$dispose = x[Symbol.asyncDispose];
>>> if (typeof $$dispose !== "function") {
>>>   $$dispose = x[Symbol.dispose];
>>> }
>>>
>>> Thanks!
>>>
>>> -- 
>>> -- 
>>> v8-dev mailing list
>>> [email protected]
>>> http://groups.google.com/group/v8-dev
>>> --- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "v8-dev" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> To view this discussion visit 
>>> https://groups.google.com/d/msgid/v8-dev/41a93f7b-1ea5-49f7-b0d1-87445a3e2493n%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/v8-dev/41a93f7b-1ea5-49f7-b0d1-87445a3e2493n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>
>>
>> -- 
>>
>>
>> Google Germany GmbH
>>
>> Erika-Mann-Straße 33
>>
>> 80636 München
>>
>> Geschäftsführer: Paul Manicle, Liana Sebastian.
>>
>> Registergericht und -nummer: Hamburg, HRB 86891
>>
>> Sitz der Gesellschaft: Hamburg
>>
>> Diese E-Mail ist vertraulich. Falls sie diese fälschlicherweise erhalten 
>> haben sollten, leiten Sie diese bitte nicht an jemand anderes weiter, 
>> löschen Sie alle Kopien und Anhänge davon und lassen Sie mich bitte wissen, 
>> dass die E-Mail an die falsche Person gesendet wurde. 
>>
>>     
>>
>> This e-mail is confidential. If you received this communication by 
>> mistake, please don't forward it to anyone else, please erase all copies 
>> and attachments, and please let me know that it has gone to the wrong 
>> person.
>>
>

-- 
-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/v8-dev/4fd2c884-6e0c-4a83-82bd-6e3ceae69976n%40googlegroups.com.

Reply via email to