checked_cast doesn't properly check some cases

XMLWordPrintable

    • Type: Enhancement
    • Resolution: Unresolved
    • Priority: P4
    • tbd
    • Affects Version/s: 22
    • Component/s: hotspot

      The round-trip test currently used by checked_cast doesn't work in some cases. For example:

      checked_cast<uint>(SIZE_MAX) => error as expected
      checked_cast<int>(SIZE_MAX) => no error?

      The problem is that SIZE_MAX successfully round-trips because
      static_cast<size_t>(-1) => SIZE_MAX
      due to sign extension when promoting the type.

            Assignee:
            Kim Barrett
            Reporter:
            Kim Barrett
            Votes:
            1 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated: