google / google/closure-compiler

Unsafe cast should fail

Open
#2,849 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
7.7k
Forks
1.2k
Avg merge
2d 12h
Merged PRs (30d)
6

Description

The following should fail:

```js
/** @interface */
class X {
y() {}
}

const x = /** @type {!X} */ ({});
x.y()
```

But it is happy to let this invalid cast through.

https://closure-compiler.appspot.com/home#code%3D%252F%252F%2520%253D%253DClosureCompiler%253D%253D%250A%252F%252F%2520%2540compilation_level%2520ADVANCED_OPTIMIZATIONS%250A%252F%252F%2520%2540output_file_name%2520default.js%250A%252F%252F%2520%2540formatting%2520pretty_print%250A%252F%252F%2520%253D%253D%252FClosureCompiler%253D%253D%250A%250A%250A%252F**%2520%2540interface%2520*%252F%250Aclass%2520X%2520%257B%250A%2520%2520y()%2520%257B%257D%250A%257D%250A%250Aconst%2520x%2520%253D%2520%252F**%2520%2540type%2520%257B!X%257D%2520*%252F%2520(%257B%257D)%253B%250Ax.y()%250A

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.