package fourslash_test import ( "testing" "efprojects.com/kitten-ipc/kitcom/internal/tsgo/fourslash" "efprojects.com/kitten-ipc/kitcom/internal/tsgo/testutil" ) func TestDeprecatedInheritedJSDocOverload(t *testing.T) { t.Parallel() defer testutil.RecoverAndFail(t, "Panic on fourslash test") const content = `interface PartialObserver {} interface Subscription {} interface Unsubscribable {} export interface Subscribable { subscribe(observer?: PartialObserver): Unsubscribable; /** @deprecated Base deprecation 1 */ subscribe(next: null | undefined, error: null | undefined, complete: () => void): Unsubscribable; /** @deprecated Base deprecation 2 */ subscribe(next: null | undefined, error: (error: any) => void, complete?: () => void): Unsubscribable; /** @deprecated Base deprecation 3 */ subscribe(next: (value: T) => void, error: null | undefined, complete: () => void): Unsubscribable; subscribe(next?: (value: T) => void, error?: (error: any) => void, complete?: () => void): Unsubscribable; } interface ThingWithDeprecations extends Subscribable { subscribe(observer?: PartialObserver): Subscription; /** @deprecated 'real' deprecation */ subscribe(next: null | undefined, error: null | undefined, complete: () => void): Subscription; /** @deprecated 'real' deprecation */ subscribe(next: null | undefined, error: (error: any) => void, complete?: () => void): Subscription; } declare const a: ThingWithDeprecations a.subscribe/**/(() => { console.log('something happened'); });` f := fourslash.NewFourslash(t, nil /*capabilities*/, content) f.VerifyBaselineHover(t) }