Coder Social home page Coder Social logo

P1065R2 constexpr INVOKE about stl HOT 4 CLOSED

StephanTLavavej avatar StephanTLavavej commented on July 17, 2024
P1065R2 constexpr INVOKE

from stl.

Comments (4)

BillyONeal avatar BillyONeal commented on July 17, 2024

https://gcc.godbolt.org/z/ro-Wqf <-- all the examples in the paper indicating that we needed CWG1581 fixed look to work in all the compilers now, so I think we can go ahead with this now.

from stl.

kasperk81 avatar kasperk81 commented on July 17, 2024

https://gcc.godbolt.org/z/ro-Wqf <-- all the examples in the paper indicating that we needed CWG1581 fixed look to work in all the compilers now, so I think we can go ahead with this now.

Not sure if conformance table is up to date, but was CWG 1581 also resolved in 16.8?

from stl.

BillyONeal avatar BillyONeal commented on July 17, 2024

Not sure if conformance table is up to date, but was CWG 1581 also resolved in 16.8?

I didn't try to figure out if it was fixed completely, I just made sure the examples called out as problematic there in the paper worked.

Notably, our std::invoke implementation doesn't use SFINAE to select the mechanism to use, only <type_traits>, so it's possible that we were always immune to the 1581 edge cases.

from stl.

StephanTLavavej avatar StephanTLavavej commented on July 17, 2024

When we talked to the compiler devs in Dec 2020, we learned that while CWG-1581 isn't completely implemented (so the conformance table is correct), it's sufficient for the STL's purposes in std::invoke as far as we can tell.

from stl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.