• RagingRobot@lemmy.world
    link
    fedilink
    arrow-up
    9
    ·
    edit-2
    8 months ago

    In the error shown a compiler would be just fine and run as usual but the person programming it would be expecting a different result so a compiler wouldn’t do this for you since it’s a logical error and not a syntax error.

    • onlinepersona@programming.dev
      link
      fedilink
      English
      arrow-up
      2
      ·
      8 months ago

      If it’s a statically typed language and x is of type Date, it’s for sure throw a type error when trying to assign a string to it. If it had autoboxing / auto type conversion from String to Date, length could return a number or a string.

      If this were Javascript on NodeJS, it would fail at print(x) because that doesn’t exist in JS. If it were Python it would fail at x.length because that has to be len(x). And so on.

      If this were all to pass, at the latest at runtime, when the programmer sees the output “6”, they would know something’s up.

      As I said, cute, but worthless test.

      CC BY-NC-SA 4.0