C++ Logo

sg14

Advanced search

Re: SG14 July 12 call

From: Arthur O'Dwyer <arthur.j.odwyer_at_[hidden]>
Date: Wed, 12 Jul 2023 15:09:50 -0400
>
> "Predictable lambdas": Might be pursued (under exploration). Being able to
> declare a lambda on the stack, without initializing it right away, and
> having access to its constructor (some sort of placement new on an
> uninitialized lambda, kind of like an optional<lambda>)


Two comments here:
(1) {{citation needed}}. Every single entry in these tables will benefit
from a third column with the URL(s) of people actually requesting these
things. Otherwise it's very easy for me to believe that an entry has lost
something in translation, and/or is solving an XY problem.

(2) This particular entry probably has an XY problem; but if we assume we
really do want to solve Y, then the feature request here doesn't really
have anything to do with "lambdas." What it's really asking for is a pair
of attributes to stick on a variable: [[no_construct]], to skip the
constructor but still destroy the variable at end-of-scope as usual; and
[[no_destroy]] to do the constructor but skip the destructor.
Clang and GCC both support [[no_destroy]]
<https://clang.llvm.org/docs/AttributeReference.html#no-destroy>, but only
on static and thread-local storage.
Nobody supports [[no_construct]] yet.
But I know about these attributes because *if we had them for stack
variables* then the vendor could implement P1144 `T std::relocate(T*)`
without intimate knowledge
<https://quuxplusone.github.io/blog/2022/05/18/std-relocate/> of the
calling convention:

    template<class T>
    T relocate(T *src) {
      if constexpr (std::is_trivially_relocatable_v<T>) {
        [[do_not_construct]] T dst;
        std::relocate_at(src, &dst); // construct dst and destroy src, as
if by memcpy
        return dst; // but still get the benefit of NRVO here
      } else {
        T dst = T(std::move(*src));
        std::destroy_at(src);
        return dst; // get the benefit of NRVO here
      }
    }

The [[no_destroy]] attribute is probably desirable for some SG14 folks,
too, because it lets you have a global variable like
    [[no_destroy]] const std::string kConstant = "constant";
of a non-trivial type that requires dynamic initialization, but the
programmer *doesn't care if its destructor runs at program exit* — that's
just useless bookkeeping, so we would like to have a way to tell the
compiler to omit it.

–Arthur

On Wed, Jul 12, 2023 at 2:39 PM Patrice Roy via SG14 <sg14_at_[hidden]>
wrote:

> As a reminder :)
>
> Le mar. 11 juil. 2023 à 23:34, Michael Wong via SG14 <
> sg14_at_[hidden]> a écrit :
>
>> Topic: SG14 Low Latency Monthly This meeting is focused on Finance/Low
>> Latency though we can continue with the Games paper that
>> was started in January, depending on what other papers or topics are of
>> interest.
>>
>> I am also looking for a finance Subgroup chair. Thank you.
>>
>> Hi,
>>
>> Michael Wong is inviting you to a scheduled Zoom meeting.
>>
>> Topic: SG14 monthly
>> Time: 2nd Wednesdays 02:00 PM Eastern Time (US and Canada)
>> Every month on the Second Wed,
>>
>> Join from PC, Mac, Linux, iOS or Android:
>> https://iso.zoom.us/j/93151864365?pwd=aDhOcDNWd2NWdTJuT1loeXpKbTcydz09
>> Password: 789626
>>
>> Or iPhone one-tap :
>> US: +12532158782,,93151864365# or +13017158592,,93151864365#
>> Or Telephone:
>> Dial(for higher quality, dial a number based on your current
>> location):
>> US: +1 253 215 8782 or +1 301 715 8592 or +1 312 626 6799 or +1
>> 346 248 7799 or +1 408 638 0968 or +1 646 876 9923 or +1 669 900 6833
>> or 877 853 5247 (Toll Free)
>> Meeting ID: 931 5186 4365
>> Password: 789626
>> International numbers available: https://iso.zoom.us/u/abRrVivZoD
>>
>> Or Skype for Business (Lync):
>> https://iso.zoom.us/skype/93151864365
>>
>> Agenda:
>>
>> 1. Opening and introduction
>>
>> ISO Code of Conduct
>> <
>>
>> https://isotc.iso.org/livelink/livelink?func=ll&objId=20882226&objAction=Open&nexturl=%2Flivelink%2Flivelink%3Ffunc%3Dll%26objId%3D20158641%26objAction%3Dbrowse%26viewType%3D1
>> *>*
>>
>> ISO patent policy.
>>
>> https://isotc.iso.org/livelink/livelink/fetch/2000/2122/3770791/Common_Policy.htm?nodeid=6344764&vernum=-2
>>
>> IEC Code of Conduct:
>>
>> https://www.iec.ch/basecamp/iec-code-conduct-technical-work
>>
>> WG21 Code of Conduct:
>>
>>
>> https://isocpp.org/std/standing-documents/sd-4-wg21-practices-and-procedures
>>
>> 1.1 Roll call of participants
>>
>> 1.2 Adopt agenda
>>
>> 1.3 Approve minutes from previous meeting, and approve publishing
>> previously approved minutes to ISOCPP.org
>>
>> 1.4 Action items from previous meetings
>>
>> 2. Main issues (125 min)
>>
>> 2.1 General logistics
>>
>> Varna F2F
>> C++23 and C++26 status
>>
>> Future meeting plans
>>
>> *Mar 8, 2023 02:00 PM ET: Embedded
>> *Apr 12, 2023 02:00 PM ET: Cancelled
>> * May 10, 2023 02:00 PM ET: Cancelled
>> * June 14, 2023 02:00 PM ET: Cancelled
>> * July 12, 2023 02:00 PM ET: Finance
>> * Aug 9, 2023 02:00 PM ET: Games
>> * Sep 12, 2023 02:00 PM ET: Embedded
>> * Oct 1: CPPCON
>> * Oct 10, 2023 02:00 PM ET: Finance
>> *Nov 8, 2023 02:00 PM ET: Kona F2F Cancelled
>> * Dec 12, 2023 02:00 PM ET: Games
>>
>> 2.2 Paper reviews
>> Discussion on Embedded:
>> Review latest mailings:
>> P2532 Removing exception_ptr from the receivers concept
>> Based on the last meeting and the discussions here.
>> P2544 C++ Exceptions are becoming more and more problematic
>> We might want to chime in here.
>> /Paul
>> P. S. P2327 de-deprecating volatile received a "consensus" straw poll.
>>
>>
>> Discussion on Low Latency/Finance topics
>>
>> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1839r4.pdf
>>
>> Patrice's paper on games.
>>
>> P2300
>> Swift
>>
>>
>>
>> Discussion about Games topics:
>>
>> P2388R1 - Minimum Contract Support: either Ignore or Check_and_abort
>> <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2388r1.html>
>>
>> Patrice's WIP on Games issues.
>>
>> Finance topics from July 14, 2021.
>>
>> https://lists.isocpp.org/sg14/2021/06/0636.php
>>
>> https://lists.isocpp.org/sg14/2021/07/0642.php
>>
>> 2.2.1 any other proposal for reviews?
>>
>> Deterministic Exception for Embedded by James Renwick
>>
>> https://www.pure.ed.ac.uk/ws/portalfiles/portal/78829292/low_cost_deterministic_C_exceptions_for_embedded_systems.pdf
>>
>> Freestanding?
>>
>> SG14/SG19 features/issues/defects:
>>
>>
>> https://docs.google.com/spreadsheets/d/1JnUJBO72QVURttkKr7gn0_WjP--P0vAne8JBfzbRiy0/edit#gid=0
>>
>> 2.3 Domain-specific discussions
>>
>> 2.3.1 SIG chairs
>>
>> - Embedded Programming chairs: Ben Craig, Wouter van Ooijen and Odin
>> Holmes, John McFarlane
>>
>> - Financial/Trading chairs: Staffan TjernstrÃm
>> Carl Cooke, Neal Horlock,
>> - Games chairs: Rene Riviera, Guy Davidson and Paul Hampson, Patrice
>> Roy
>>
>> - Linear Algebra chairs: Bob Steagall, Mark Hoemmen, Guy Davidson
>>
>> 2.4 Other Papers and proposals
>>
>> 2.5 Future F2F meetings:
>>
>> 2.6 future C++ Standard meetings:
>> https://isocpp.org/std/meetings-and-participation/upcoming-meetings
>>
>> -
>>
>> 3. Any other business
>> Reflector
>> https://lists.isocpp.org/mailman/listinfo.cgi/sg14
>> As well as look through papers marked "SG14" in recent standards committee
>> paper mailings:
>> http://open-std.org/jtc1/sc22/wg21/docs/papers/2015/
>> http://open-std.org/jtc1/sc22/wg21/docs/papers/2016/
>>
>> Code and proposal Staging area
>> https://github.com/WG21-SG14/SG14
>> 4. Review
>>
>> 4.1 Review and approve resolutions and issues [e.g., changes to SG's
>> working draft]
>>
>> 4.2 Review action items (5 min)
>>
>> 5. Closing process
>>
>> 5.1 Establish next agenda
>>
>> 5.2 Future meeting
>>
>>
>> *Mar 8, 2023 02:00 PM ET: Embedded
>> *Apr 12, 2023 02:00 PM ET: Cancelled
>> * May 10, 2023 02:00 PM ET: Cancelled
>> * June 14, 2023 02:00 PM ET: Cancelled
>> * July 12, 2023 02:00 PM ET: Finance
>> * Aug 9, 2023 02:00 PM ET: Games
>> * Sep 12, 2023 02:00 PM ET: Embedded
>> * Oct 1: CPPCON
>> * Oct 10, 2023 02:00 PM ET: Finance
>> *Nov 8, 2023 02:00 PM ET: Kona F2F Cancelled
>> * Dec 12, 2023 02:00 PM ET: Games
>> _______________________________________________
>> SG14 mailing list
>> SG14_at_[hidden]
>> https://lists.isocpp.org/mailman/listinfo.cgi/sg14
>>
> _______________________________________________
> SG14 mailing list
> SG14_at_[hidden]
> https://lists.isocpp.org/mailman/listinfo.cgi/sg14
>

Received on 2023-07-12 19:10:05