### π Search Terms abstract type guard symbol ### π Version & Regression Information - This is the behavior in every version I tried, and I reviewed the FAQ for entries about abstract type guard ### β― Playground Link https://www.typescriptlang.org/play/?ts=6.0.0-dev.20250810&ssl=28&ssc=2&pln=1&pc=1#code/FAYw9gdgzgLgBASygIQIYCc4F44GUCeAtgEZgA2AFAERJrpUCUA3MMKsbOqiPCGalChwAYmDBwA3sDgy47Tt3i0MFBgC44MABZJEQui1lyOMLjzgBtZegC6qjdt26DrI4QCm2sABN7cAG5gCN6S0kayCABmcBSOUFYoGHYMDKHh6XAA9JlwACo6QlBaYACuZCEQYPDE7nIQcO7o6GDoYRmycQB0xBgAsp7Fvsxt4QC+DWRQtVExXdaqqVLtRl096P1eQ4YZoyO7u6D8gnB0DQAeMO4Q3kKi4kuyYP6N6MHTieh+cXonGGkZ6E8JXQ9VMJXc2xkByMTxeb0s1mSDgKP1OD3SgJgwNB6HBkLg0Nkaw2gz8gWCkn2QA ### π» Code ```ts const isBar = Symbol("isBar"); abstract class Foo { abstract isBar(): this is Bar; abstract [isBar](): this is Bar; method(): void { if (this[isBar]()) { // This should not be an error, it should work the same as .isBar() this.barMethod(); } else if (this.isBar()) { this.barMethod(); } } } class Bar extends Foo { override isBar(): this is Bar { return true; } override [isBar](): this is Bar { return true; } barMethod(): void {} } ``` ### π Actual behavior TS reports an error: > `Property 'barMethod' does not exist on type 'Foo'. Did you mean 'method'?(2551)` ### π Expected behavior No error should happen here, the type guard should work the same as the non-symbol version of the method. ### Additional information about the issue _No response_