# Bug Report <!-- Please fill in each section completely. Thank you! --> ### 🔎 Search Terms <!-- What search terms did you use when trying to find an existing bug report? List them here so people in the future can find this one more easily. --> Error: Debug Failure. Expected [object Object] === [object Object]. Parameter symbol already has a cached type which differs from newly assigned type ### 🕗 Version & Regression Information <!-- When did you start seeing this bug occur? "Bugs" that have existed in TS for a long time are very likely to be FAQs; refer to https://github.com/Microsoft/TypeScript/wiki/FAQ#common-bugs-that-arent-bugs If possible, please try testing the nightly version of TS to see if it's already been fixed. For npm: `typescript@next` This is also the 'Nightly' version in the playground: http://www.typescriptlang.org/play/?ts=Nightly Note: The TypeScript Playground can be used to try older versions of TypeScript. Please keep and fill in the line that best applies: --> - This is a crash - This changed between versions 4.6.4 and 4.7.2 - This is still happening with the currently latest 4.8.3 ### ⏯ Playground Link <!-- A link to a TypeScript Playground "Share" link which shows this behavior The TypeScript Workbench can be used for more complex setups, try https://www.typescriptlang.org/dev/bug-workbench/ As a last resort, you can link to a repo, but these will be slower for us to investigate. --> Can't reproduce in the playgorund. To reproduce, run: ```sh tsc code.js --allowJs --noEmit --target esnext. ``` ### 💻 Code code.js <!-- Please post the relevant code sample here as well--> ```js class Model { save() { return this.createMissingLabels() .then(() => this.$store.save(this)); } createMissingLabels() { if (this.labels && Array.isArray(this.labels)) { return Promise.all(this.labels.map( label => this.$store.createLabel(label) )).then(labels => (this.labels = labels)); } return Promise.resolve(); } } ``` ### 🙁 Actual behavior <!-- What happened, and why it was wrong --> ```sh Debug Failure. Expected [object Object] === [object Object]. Parameter symbol already has a cached type which differs from newly assigned type ``` ### 🙂 Expected behavior <!-- What you expected to happen instead, and why --> No crash