• okamiueru@lemmy.world
    link
    fedilink
    arrow-up
    8
    arrow-down
    1
    ·
    edit-2
    7 months ago

    If it returned a “Foo”, whose structure changes in such a way as to requires changes in all places it was used…

    That, sounds to me like a disaster you avoided by being helped (which is the polite way to describe developers not getting away with ignoring lazy and dangerous type conversion bugs) to fix each and every usage of it.

    • pixxelkick@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      7 months ago

      No, there’s countless ways code could be consuming a Foo or Bar and not care which.

      Literally any form of serialization won’t care, for example.

      Also you can change from a Foo to a Bar in a non breaking manner, where it’s name changed but the still have the same interface.

      • okamiueru@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        7 months ago

        We’re talking about type inference, right?

        If you have countless examples, I’d be happy to entertain others that have to os with type inference, because 1) serialisation is not related, 2) renaming APIs is also, arguably, also not. Though, I cannot remember the last time my IDE wasn’t able to know, and do this for me.