• @[email protected]
    link
    fedilink
    English
    17
    edit-2
    1 month ago

    I mean, the type system isn’t very strict at all to begin with in some . It’s trivially breakable when performing common operations like type punning in C.

    • qazOP
      link
      English
      231 month ago

      I broke the type system in Kotlin and ended up with a null value in a non-null (not lateinit) variable.

        • qazOP
          link
          English
          11 month ago

          Yes

          • @[email protected]
            link
            fedilink
            11 month ago

            Interesting. Care to share? I think they fixed a few of those issues with K2. Did you find something new or is it known?

            • qazOP
              link
              English
              3
              edit-2
              1 month ago

              It was about 3 years ago, and I haven’t been able to find my old code again. I probably discarded it after finding out it didn’t work well. I was able to find this screenshot though:

              • @[email protected]
                link
                fedilink
                31 month ago

                Uh. Probably not exactly your case, but I managed to “reproduce” them.

                The first case is easy if you just override the setter of a property, and is more a feature of the language rather than a bug.

                The second case is more tricky, but by using a generic delegate you can manage to trick it by doing an unchecked cast. Got the same warning in IntelliJ as well.

                Link: https://pl.kotl.in/pIt-uHw7d