[ReSpec]: changes to internal slots

Hi ReSpec users!

Tl;dr: internal slots must now explicitly point to a WebIDL interface. ReSpec will report an error otherwise.  

If you don't know what an "internal slot" is (you can learn about them at [1]!), or your spec doesn't use WebIDL, please disregard this email.

## What's changed?

From v26.9.1, we require all internal slots to be explicitly associated with a WebIDL interface. So, this will no longer work:

```
{{ [[internalSlot]] }}
```

You must now do:

```
{{ MyInterface[[internalSlot]] }}
```

Or, for internal methods:

```
{{ MyInterface[[internalMethod]](foo, bar, baz) }}
```

Similarly, when defining an internal slot, you must explicitly associate an internal slot with an interface:

```
<dfn data-dfn-for="MyInterface">[[\InternalSlot]]</dfn> 
```   

Or for internal methods:

```
<dfn data-dfn-for="MyInterface">[[\InternalMethod]](foo, bar, baz)</dfn>
```

As always, give us a shout if you encounter any issues or need help! 

[1] https://medium.com/jspoint/what-are-internal-slots-and-internal-methods-in-javascript-f2f0f6b38de

Received on Tuesday, 29 June 2021 00:40:25 UTC