Skip to content

Property is not assignable to the same property in generic base typeΒ #61918

Open
@na7ure-a

Description

@na7ure-a

πŸ”Ž Search Terms

Property is not assignable to the same property in generic base type

πŸ•— Version & Regression Information

-This is the behavior in every version I tried, and I reviewed

⏯ Playground Link

https://www.typescriptlang.org/zh/play/?ts=5.8.3#code/IYIwzgLgTsDGEAJYBthjAgSgCwPYIG8AoBBUSGeBABwEsATAc1oDswAeAMQH0BRBAKYAPCAJb0MLAK4BbEAKgAaBDwBSAPgAUIKFLABHKQMgAuFd1UIAPud4BKM2uu2A3EQC+RFGgwAhZFIAZoEKgiJiElh4hCQ0DMxsXHxhouKSsvJK5hraugZGptnOPPaOFsXJscSkpFACEFJQLKQ6eobGEG6knp5AA

πŸ’» Code

abstract class Rho {
  abstract pidgins<F_E extends number, F_J>(brusquest: F_J | F_E): F_J | F_E;
}
class Bluffer extends Rho {
  pidgins<F_E extends number, F_J>(brusquest: F_J | F_E): F_J | F_E 
  {
    return  brusquest;
  }
}

πŸ™ Actual behavior

Property 'pidgins' in type 'Bluffer' is not assignable to the same property in base type 'Rho'.
Type '<F_E extends number, F_J>(brusquest: F_E | F_J) => F_E | F_J' is not assignable to type '<F_E extends number, F_J>(brusquest: F_E | F_J) => F_E | F_J'. Two different types with this name exist, but they are unrelated.
Type 'number | F_E | F_J' is not assignable to type 'F_E | F_J'.
Type 'number' is not assignable to type 'F_E | F_J'.(2416)

πŸ™‚ Expected behavior

No error

Additional information about the issue

The following works with no error:

abstract class Rho {
  abstract pidgins<F_E extends number, F_J>(brusquest: F_J | F_E): F_J | F_E;
  abstract pidgins<F_E extends number, F_J>(brusquest: F_J | F_E): F_J | F_E;
}
class Bluffer extends Rho {
  pidgins<F_E extends number, F_J>(brusquest: F_J | F_E): F_J | F_E 
  {
    return  brusquest;
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugA bug in TypeScriptHelp WantedYou can do this

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions