s2 defines illegal specializations of std::is_pod

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Works as Designed
    • Priority: Minor - P4
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Server Programmability
    • ALL
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      s2 defines some macros in src/third_party/s2/src/base/macros.h which specialize std::is_pod to be true for non-POD types and uses them on Vector2/Vector3/Vector4/Matrix3x3. Xcode 26.4 has started to correctly complain that this is invalid ('is_pod' cannot be specialized: Users are not allowed to specialize this standard library entity). We don't particularly care about Xcode 26.4 at the moment, but this is in fact explicitly undefined behavior that we should eliminate.

      s2 appears to not internally depend on these is_pod specializations and they were just there for other google3 users. Upstream deleted them in 2015.

            Assignee:
            Unassigned
            Reporter:
            Thomas Goyne
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: