Skip to content

[1.16 regression] assigning a lambda to subclass w/ generics #19165

Closed

Description

@Redoubts

Bug Report

Consider the following:

https://mypy-play.net/?mypy=latest&python=3.12&gist=29ddead67873ff6c1f1bf36de8726bd7

This works without error in 1.15 mypy. But in the new 1.16 version, one would see Incompatible return value type (got "int", expected "T") on converter2

Your Environment

  • Mypy version used: 1.16
  • Mypy command-line flags: (defaults)
  • Mypy configuration options from mypy.ini (and other config files): n/a
  • Python version used: 3.11 & 3.12

Activity

  1. changed the title [-]'Incompatible return value type (... expected "T")' when assigning a lambda to a class w/ generics[/-] [+][1.16 regression] assigning a lambda to subclass w/ generics[/+] on May 29, 2025
  2. hauntsaninja commented on May 29, 2025

    @hauntsaninja
    Collaborator

    This will be #18847

  3. ilevkivskyi commented on May 30, 2025

    @ilevkivskyi
    Member

    I will take a look at this (hopefully during weekend). Most likely I just missed some edge case (since it works for non-lambda overrides).

  4. ilevkivskyi commented on May 31, 2025

    @ilevkivskyi
    Member

    Oh well, this is fixed on master now by #18943. I am not sure however if it is worth including in a point release, as this is a big PR and regression doesn't seem urgent. Anyway, I will leave this decision up to @JukkaL

  5. Redoubts commented on May 31, 2025

    @Redoubts
    Author

    Since there’s an obvious workaround, I’m not too pressed about letting this float to the next real release

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugmypy got something wrong

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions