Page MenuHomeWildfire Games

[WIP] PS::Execution
AbandonedPublic

Authored by phosit on Aug 16 2022, 4:04 PM.

Details

Reviewers
vladislavbelov
wraitii
Group Reviewers
Restricted Owners Package(Owns No Changed Paths)
Summary

Implement part of the std::execution paper https://wg21.link/P2300

syncWait(taskManager.schedule() | then([]{return 5;}));
The user has only to deal with senders: sender-factories(taskManager), sender-adoptor(then) and sender-consumer(syncWait). Those can be chained together to build a execution-graph.
The type of the adapted sender will be:
Then::Send<TaskManager::Send>
A sender-consumer will connect the adapted sender to its receiver and get an operation state which holds all information about the task:
Then::State<TaskManager::State<Then::Recv<SyncWait::Recv>>>
The sender-consumer then calls Then::State<...>::Start() which calls TaskManager::State<...>::Start(). TaskManager::State<...>::Start() attaches "work" to the queue. If the "work" get scheduled one thread will call Then::Recv<...>::SetValue(). Then::Recv<...> will execute the actual function. If it succeeds SyncWait::Recv::SetValue() is called, if an exception is thrown SyncWait::Recv::SetError() is called. SyncWait will return the value or rethrow the exception.

changes from P2300:

  • Only two sender adoptor are implemented: then, whenAll.
  • There are two sender consumer: syncWait, asFuture. asFuture is not part of P2300 but i think it is usefull.
  • In this implementation only one variable is passed through the execution-chain.
  • whenAll passes a tuple were each sender have there element. P2300 concats all sender-results together and don't use tuple.
  • I didnt implement tag_invoke

WIP

  • implement cancelation
  • make TaskManager a scheduler
  • some optimisation copy -> move
Test Plan

-

Diff Detail

Event Timeline

phosit created this revision.Aug 16 2022, 4:04 PM

Build failure - The Moirai have given mortals hearts that can endure.

Debug:
    23>e:\jenkins\workspace\vs2015-differential\source\ps\execution\tests\test_then.h(76): error C3615: constexpr function 'TestThen::Min' cannot result in a constant expression (compiling source file ..\..\..\source\ps\Execution\tests\test_Then.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\test.vcxproj]
    23>e:\jenkins\workspace\vs2015-differential\source\ps\execution\tests\test_then.h(84): error C3615: constexpr function 'TestThen::Clamp' cannot result in a constant expression (compiling source file ..\..\..\source\ps\Execution\tests\test_Then.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\test.vcxproj]
    23>e:\jenkins\workspace\vs2015-differential\source\ps\execution\tests\test_then.h(96): error C2127: 'produce': illegal initialization of 'constexpr' entity with a non-constant expression (compiling source file ..\..\..\source\ps\Execution\tests\test_Then.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\test.vcxproj]
    23>e:\jenkins\workspace\vs2015-differential\source\ps\execution\tests\test_then.h(74): error C2065: 'value': undeclared identifier (compiling source file ..\..\..\source\ps\Execution\tests\test_Then.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\test.vcxproj]
    23>e:\jenkins\workspace\vs2015-differential\source\ps\execution\tests\test_then.h(74): error C2127: 'TestThen::check<6>': illegal initialization of 'constexpr' entity with a non-constant expression (compiling source file ..\..\..\source\ps\Execution\tests\test_Then.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\test.vcxproj]
    23>e:\jenkins\workspace\vs2015-differential\source\ps\execution\tests\test_then.h(103): error C2127: 'thrower': illegal initialization of 'constexpr' entity with a non-constant expression (compiling source file ..\..\..\source\ps\Execution\tests\test_Then.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\test.vcxproj]
    23>e:\jenkins\workspace\vs2015-differential\source\ps\execution\tests\test_asfuture.h(32): error C2065: 'value': undeclared identifier (compiling source file ..\..\..\source\ps\Execution\tests\test_AsFuture.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\test.vcxproj]
    23>e:\jenkins\workspace\vs2015-differential\source\ps\execution\tests\test_asfuture.h(32): error C2127: 'TestAsFuture::check<111>': illegal initialization of 'constexpr' entity with a non-constant expression (compiling source file ..\..\..\source\ps\Execution\tests\test_AsFuture.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\test.vcxproj]
    23>e:\jenkins\workspace\vs2015-differential\libraries\win32\boost\include\boost\optional\detail\optional_reference_spec.hpp(154): warning C4702: unreachable code [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\test.vcxproj]

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/7417/display/redirect

Successful build - Chance fights ever on the side of the prudent.

builderr-debug-macos.txt
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libengine_dbg.a(precompiled.o) has no symbols
ld: warning: text-based stub file /System/Library/Frameworks//CoreAudio.framework/CoreAudio.tbd and library file /System/Library/Frameworks//CoreAudio.framework/CoreAudio are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//AudioToolbox.framework/AudioToolbox.tbd and library file /System/Library/Frameworks//AudioToolbox.framework/AudioToolbox are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//ForceFeedback.framework/ForceFeedback.tbd and library file /System/Library/Frameworks//ForceFeedback.framework/ForceFeedback are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreVideo.framework/CoreVideo.tbd and library file /System/Library/Frameworks//CoreVideo.framework/CoreVideo are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//Cocoa.framework/Cocoa.tbd and library file /System/Library/Frameworks//Cocoa.framework/Cocoa are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//IOKit.framework/IOKit.tbd and library file /System/Library/Frameworks//IOKit.framework/IOKit are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//QuartzCore.framework/QuartzCore.tbd and library file /System/Library/Frameworks//QuartzCore.framework/QuartzCore are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//Metal.framework/Metal.tbd and library file /System/Library/Frameworks//Metal.framework/Metal are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//Security.framework/Security.tbd and library file /System/Library/Frameworks//Security.framework/Security are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//OpenAL.framework/OpenAL.tbd and library file /System/Library/Frameworks//OpenAL.framework/OpenAL are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//ApplicationServices.framework/ApplicationServices.tbd and library file /System/Library/Frameworks//ApplicationServices.framework/ApplicationServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//Cocoa.framework/Cocoa.tbd and library file /System/Library/Frameworks//Cocoa.framework/Cocoa are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation.tbd and library file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreGraphics.framework/Versions/A/CoreGraphics.tbd and library file /System/Library/Frameworks//CoreGraphics.framework/Versions/A/CoreGraphics are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreText.framework/Versions/A/CoreText.tbd and library file /System/Library/Frameworks//CoreText.framework/Versions/A/CoreText are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//ImageIO.framework/Versions/A/ImageIO.tbd and library file /System/Library/Frameworks//ImageIO.framework/Versions/A/ImageIO are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//ColorSync.framework/Versions/A/ColorSync.tbd and library file /System/Library/Frameworks//ColorSync.framework/Versions/A/ColorSync are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSyncLegacy.framework/Versions/A/ColorSyncLegacy.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSyncLegacy.framework/Versions/A/ColorSyncLegacy are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreServices.framework/Versions/A/CoreServices.tbd and library file /System/Library/Frameworks//CoreServices.framework/Versions/A/CoreServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//AppKit.framework/Versions/C/AppKit.tbd and library file /System/Library/Frameworks//AppKit.framework/Versions/C/AppKit are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreData.framework/Versions/A/CoreData.tbd and library file /System/Library/Frameworks//CoreData.framework/Versions/A/CoreData are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreImage.framework/Versions/A/CoreImage.tbd and library file /System/Library/Frameworks//CoreImage.framework/Versions/A/CoreImage are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CFNetwork.framework/Versions/A/CFNetwork.tbd and library file /System/Library/Frameworks//CFNetwork.framework/Versions/A/CFNetwork are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation.tbd and library file /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//Foundation.framework/Versions/C/Foundation.tbd and library file /System/Library/Frameworks//Foundation.framework/Versions/C/Foundation are out of sync. Falling back to library file for linking.
ld: warning: object file (../../../libraries/osx/fmt/lib/libfmt.a(format.cc.o)) was built for newer OSX version (10.13) than being linked (10.12)
ld: warning: text-based stub file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation.tbd and library file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation are out of sync. Falling back to library file for linking.
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:38:17: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:38:18)>' requested here
                                | Exec::then([]{return 6;});
                                            ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:50:47: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::SyncWait::Fn, true>::operator()<>' requested here
                Exec::thisThread.Schedule() | Exec::syncWait();
                                                            ^
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:48:17: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:48:18)>' requested here
                                | Exec::then([]{return 'o';})
                                            ^
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:36:44: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:36:45)>' requested here
                        Exec::thisThread.Schedule() | Exec::then([]{return 3;}),
                                                                ^
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:32:32: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<TestAsFuture::(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:32:43)>' requested here
        static constexpr auto check = Exec::then([](decltype(value) in){TS_ASSERT_EQUALS(in, value);});
                                      ^
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:49:7: note: in instantiation of static data member 'TestAsFuture::check' requested here
                                | check<'o'>
                                  ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:55:61: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:55:62)>' requested here
                const auto work = Exec::thisThread.Schedule() | Exec::then([&]{test = expected;});
                                                                          ^
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:50:21: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::AsFuture::Fn, true>::operator()<>' requested here
                                | Exec::asFuture();
                                                ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:65:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:65:17)>' requested here
                        | Exec::then([]{return 4;}) // int{4}
                                    ^
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:38:44: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:38:45)>' requested here
                        Exec::thisThread.Schedule() | Exec::then([]{return std::array<int, 2>{1, 2};})
                                                                ^
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:61:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:61:17)>' requested here
                        | Exec::then([]{throw 0;})
                                    ^
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:62:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:62:17)>' requested here
                        | Exec::then([&]{std::get<0>(isExecuted) = true;})
                                    ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:66:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:66:17)>' requested here
                        | Exec::then([](const int in){return static_cast<float>(in + 5);}) // float{9}
                                    ^
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:39:17: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:39:18)>' requested here
                ) | Exec::then([](std::tuple<int, Exec::VoidTag, std::array<int, 2>> in)
                              ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:67:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:67:17)>' requested here
                        | Exec::then([](const float in){return in / 2;}) // float{4.5};
                                    ^
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:81:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:81:17)>' requested here
                        | Exec::then([&testFuture]() -> int& {return testFuture;});
                                    ^
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:52:44: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:52:45)>' requested here
                        Exec::thisThread.Schedule() | Exec::then([]{throw 12;}),
                                                                ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:68:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:68:17)>' requested here
                        | Exec::then([](const float in){return static_cast<int>(in * 8);}); // int{36}
                                    ^
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:53:44: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:53:45)>' requested here
                        Exec::thisThread.Schedule() | Exec::then([]{throw -6;}),
                                                                ^
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:54:44: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:54:45)>' requested here
                        Exec::thisThread.Schedule() | Exec::then([&]{std::get<0>(isExecuted) = true;}));
                                                                ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:78:20: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:78:21)>' requested here
                return Exec::then([](std::array<int, 2> in)
                                 ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:86:20: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:86:21)>' requested here
                return Exec::then([](const std::array<int, 3> in)
                                 ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:96:38: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:96:39)>' requested here
                constexpr auto produce = Exec::then([]{return std::array<int, 3>{6, 3, 12};});
                                                   ^
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:74:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:74:17)>' requested here
                        | Exec::then([&testWhenAll]() -> int& {return testWhenAll;}));
                                    ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:74:32: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<TestThen::(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:74:43)>' requested here
        static constexpr auto check = Exec::then([](decltype(value) in){TS_ASSERT_EQUALS(in, value);});
                                      ^
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:97:68: note: in instantiation of static data member 'TestThen::check' requested here
                Exec::syncWait(Exec::thisThread.Schedule() | produce | Clamp() | check<6>);
                                                                                 ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:103:38: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:103:39)>' requested here
                constexpr auto thrower = Exec::then([]{throw 12;});
                                                   ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:104:31: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:104:32)>' requested here
                const auto task = Exec::then([&]{std::get<0>(isExecuted) = true;});
                                            ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:122:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:122:17)>' requested here
                        | Exec::then([&testThen]() -> int& {return testThen;})
                                    ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:123:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:123:17)>' requested here
                        | Exec::then([](int& in) -> int&
                                    ^
7 warnings generated.
7 warnings generated.
14 warnings generated.
ld: warning: text-based stub file /System/Library/Frameworks//CoreAudio.framework/CoreAudio.tbd and library file /System/Library/Frameworks//CoreAudio.framework/CoreAudio are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//AudioToolbox.framework/AudioToolbox.tbd and library file /System/Library/Frameworks//AudioToolbox.framework/AudioToolbox are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//ForceFeedback.framework/ForceFeedback.tbd and library file /System/Library/Frameworks//ForceFeedback.framework/ForceFeedback are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreVideo.framework/CoreVideo.tbd and library file /System/Library/Frameworks//CoreVideo.framework/CoreVideo are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//Cocoa.framework/Cocoa.tbd and library file /System/Library/Frameworks//Cocoa.framework/Cocoa are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//IOKit.framework/IOKit.tbd and library file /System/Library/Frameworks//IOKit.framework/IOKit are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//QuartzCore.framework/QuartzCore.tbd and library file /System/Library/Frameworks//QuartzCore.framework/QuartzCore are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//Metal.framework/Metal.tbd and library file /System/Library/Frameworks//Metal.framework/Metal are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//Security.framework/Security.tbd and library file /System/Library/Frameworks//Security.framework/Security are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//OpenAL.framework/OpenAL.tbd and library file /System/Library/Frameworks//OpenAL.framework/OpenAL are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//AppKit.framework/Versions/C/AppKit.tbd and library file /System/Library/Frameworks//AppKit.framework/Versions/C/AppKit are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreData.framework/Versions/A/CoreData.tbd and library file /System/Library/Frameworks//CoreData.framework/Versions/A/CoreData are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//ApplicationServices.framework/Versions/A/ApplicationServices.tbd and library file /System/Library/Frameworks//ApplicationServices.framework/Versions/A/ApplicationServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreImage.framework/Versions/A/CoreImage.tbd and library file /System/Library/Frameworks//CoreImage.framework/Versions/A/CoreImage are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation.tbd and library file /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//Foundation.framework/Versions/C/Foundation.tbd and library file /System/Library/Frameworks//Foundation.framework/Versions/C/Foundation are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreGraphics.framework/Versions/A/CoreGraphics.tbd and library file /System/Library/Frameworks//CoreGraphics.framework/Versions/A/CoreGraphics are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreText.framework/Versions/A/CoreText.tbd and library file /System/Library/Frameworks//CoreText.framework/Versions/A/CoreText are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//ImageIO.framework/Versions/A/ImageIO.tbd and library file /System/Library/Frameworks//ImageIO.framework/Versions/A/ImageIO are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//ColorSync.framework/Versions/A/ColorSync.tbd and library file /System/Library/Frameworks//ColorSync.framework/Versions/A/ColorSync are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSyncLegacy.framework/Versions/A/ColorSyncLegacy.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSyncLegacy.framework/Versions/A/ColorSyncLegacy are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreServices.framework/Versions/A/CoreServices.tbd and library file /System/Library/Frameworks//CoreServices.framework/Versions/A/CoreServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreFoundation.framework/Versions/A/CoreFoundation.tbd and library file /System/Library/Frameworks//CoreFoundation.framework/Versions/A/CoreFoundation are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CFNetwork.framework/Versions/A/CFNetwork.tbd and library file /System/Library/Frameworks//CFNetwork.framework/Versions/A/CFNetwork are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList are out of sync. Falling back to library file for linking.
ld: warning: object file (../../../libraries/osx/fmt/lib/libfmt.a(format.cc.o)) was built for newer OSX version (10.13) than being linked (10.12)
ld: warning: text-based stub file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation.tbd and library file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation are out of sync. Falling back to library file for linking.
builderr-release-macos.txt
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libengine.a(precompiled.o) has no symbols
ld: warning: text-based stub file /System/Library/Frameworks//CoreAudio.framework/CoreAudio.tbd and library file /System/Library/Frameworks//CoreAudio.framework/CoreAudio are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//AudioToolbox.framework/AudioToolbox.tbd and library file /System/Library/Frameworks//AudioToolbox.framework/AudioToolbox are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//ForceFeedback.framework/ForceFeedback.tbd and library file /System/Library/Frameworks//ForceFeedback.framework/ForceFeedback are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreVideo.framework/CoreVideo.tbd and library file /System/Library/Frameworks//CoreVideo.framework/CoreVideo are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//Cocoa.framework/Cocoa.tbd and library file /System/Library/Frameworks//Cocoa.framework/Cocoa are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//IOKit.framework/IOKit.tbd and library file /System/Library/Frameworks//IOKit.framework/IOKit are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//QuartzCore.framework/QuartzCore.tbd and library file /System/Library/Frameworks//QuartzCore.framework/QuartzCore are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//Metal.framework/Metal.tbd and library file /System/Library/Frameworks//Metal.framework/Metal are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//Security.framework/Security.tbd and library file /System/Library/Frameworks//Security.framework/Security are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//OpenAL.framework/OpenAL.tbd and library file /System/Library/Frameworks//OpenAL.framework/OpenAL are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//ApplicationServices.framework/ApplicationServices.tbd and library file /System/Library/Frameworks//ApplicationServices.framework/ApplicationServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//Cocoa.framework/Cocoa.tbd and library file /System/Library/Frameworks//Cocoa.framework/Cocoa are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation.tbd and library file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreImage.framework/Versions/A/CoreImage.tbd and library file /System/Library/Frameworks//CoreImage.framework/Versions/A/CoreImage are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//AppKit.framework/Versions/C/AppKit.tbd and library file /System/Library/Frameworks//AppKit.framework/Versions/C/AppKit are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreData.framework/Versions/A/CoreData.tbd and library file /System/Library/Frameworks//CoreData.framework/Versions/A/CoreData are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreGraphics.framework/Versions/A/CoreGraphics.tbd and library file /System/Library/Frameworks//CoreGraphics.framework/Versions/A/CoreGraphics are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreText.framework/Versions/A/CoreText.tbd and library file /System/Library/Frameworks//CoreText.framework/Versions/A/CoreText are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//ImageIO.framework/Versions/A/ImageIO.tbd and library file /System/Library/Frameworks//ImageIO.framework/Versions/A/ImageIO are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//ColorSync.framework/Versions/A/ColorSync.tbd and library file /System/Library/Frameworks//ColorSync.framework/Versions/A/ColorSync are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSyncLegacy.framework/Versions/A/ColorSyncLegacy.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSyncLegacy.framework/Versions/A/ColorSyncLegacy are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreServices.framework/Versions/A/CoreServices.tbd and library file /System/Library/Frameworks//CoreServices.framework/Versions/A/CoreServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation.tbd and library file /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//Foundation.framework/Versions/C/Foundation.tbd and library file /System/Library/Frameworks//Foundation.framework/Versions/C/Foundation are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CFNetwork.framework/Versions/A/CFNetwork.tbd and library file /System/Library/Frameworks//CFNetwork.framework/Versions/A/CFNetwork are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList are out of sync. Falling back to library file for linking.
ld: warning: object file (../../../libraries/osx/fmt/lib/libfmt.a(format.cc.o)) was built for newer OSX version (10.13) than being linked (10.12)
ld: warning: text-based stub file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation.tbd and library file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation are out of sync. Falling back to library file for linking.
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21In file included from :
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:../../../source/ps/Execution/SyncWait.h:18:
In file included from 21:
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:50:47: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::SyncWait::Fn, true>::operator()<>' requested here                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }

/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:36:44: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:36:45)>' requested here
                Exec::thisThread.Schedule() | Exec::syncWait();
                                                            ^
                        Exec::thisThread.Schedule() | Exec::then([]{return 3;}),
                                                                ^
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:38:17: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:38:18)>' requested here
                                | Exec::then([]{return 6;});
                                            ^
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:38:44: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:38:45)>' requested here
                        Exec::thisThread.Schedule() | Exec::then([]{return std::array<int, 2>{1, 2};})
                                                                ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:55:61: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:55:62)>' requested here
                const auto work = Exec::thisThread.Schedule() | Exec::then([&]{test = expected;});
                                                                          ^
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:39:17: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:39:18)>' requested here
                ) | Exec::then([](std::tuple<int, Exec::VoidTag, std::array<int, 2>> in)
                              ^
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:65:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:65:17)>' requested here
                        | Exec::then([]{return 4;}) // int{4}
                                    ^
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:48:17: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:48:18)>' requested here
                                | Exec::then([]{return 'o';})
                                            ^
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:32:32: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<TestAsFuture::(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:32:43)>' requested here
        static constexpr auto check = Exec::then([](decltype(value) in){TS_ASSERT_EQUALS(in, value);});
                                      ^
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:49:7: note: in instantiation of static data member 'TestAsFuture::check' requested here
                                | check<'o'>
                                  ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:66:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:66:17)>' requested here
                        | Exec::then([](const int in){return static_cast<float>(in + 5);}) // float{9}
                                    ^
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:52:44: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:52:45)>' requested here
                        Exec::thisThread.Schedule() | Exec::then([]{throw 12;}),
                                                                ^
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:50:21: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::AsFuture::Fn, true>::operator()<>' requested here
                                | Exec::asFuture();
                                                ^
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:53:44: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:53:45)>' requested here
                        Exec::thisThread.Schedule() | Exec::then([]{throw -6;}),
                                                                ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:67:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:67:17)>' requested here
                        | Exec::then([](const float in){return in / 2;}) // float{4.5};
                                    ^
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:61:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:61:17)>' requested here
                        | Exec::then([]{throw 0;})
                                    ^
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:54:44: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:54:45)>' requested here
                        Exec::thisThread.Schedule() | Exec::then([&]{std::get<0>(isExecuted) = true;}));
                                                                ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:68:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:68:17)>' requested here
                        | Exec::then([](const float in){return static_cast<int>(in * 8);}); // int{36}
                                    ^
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:62:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:62:17)>' requested here
                        | Exec::then([&]{std::get<0>(isExecuted) = true;})
                                    ^
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:74:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_WhenAll.h:74:17)>' requested here
                        | Exec::then([&testWhenAll]() -> int& {return testWhenAll;}));
                                    ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:78:20: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:78:21)>' requested here
                return Exec::then([](std::array<int, 2> in)
                                 ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:86:20: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:86:21)>' requested here
                return Exec::then([](const std::array<int, 3> in)
                                 ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:96:38: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:96:39)>' requested here
                constexpr auto produce = Exec::then([]{return std::array<int, 3>{6, 3, 12};});
                                                   ^
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:81:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_AsFuture.h:81:17)>' requested here
                        | Exec::then([&testFuture]() -> int& {return testFuture;});
                                    ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:74:32: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<TestThen::(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:74:43)>' requested here
        static constexpr auto check = Exec::then([](decltype(value) in){TS_ASSERT_EQUALS(in, value);});
                                      ^
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:97:68: note: in instantiation of static data member 'TestThen::check' requested here
                Exec::syncWait(Exec::thisThread.Schedule() | produce | Clamp() | check<6>);
                                                                                 ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:103:38: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:103:39)>' requested here
                constexpr auto thrower = Exec::then([]{throw 12;});
                                                   ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:104:31: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:104:32)>' requested here
                const auto task = Exec::then([&]{std::get<0>(isExecuted) = true;});
                                            ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:122:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:122:17)>' requested here
                        | Exec::then([&testThen]() -> int& {return testThen;})
                                    ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:123:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /Users/wfg/Jenkins/workspace/macos-differential/source/ps/Execution/tests/test_Then.h:123:17)>' requested here
                        | Exec::then([](int& in) -> int&
                                    ^
7 warnings generated.
7 warnings generated.
14 warnings generated.
ld: warning: text-based stub file /System/Library/Frameworks//CoreAudio.framework/CoreAudio.tbd and library file /System/Library/Frameworks//CoreAudio.framework/CoreAudio are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//AudioToolbox.framework/AudioToolbox.tbd and library file /System/Library/Frameworks//AudioToolbox.framework/AudioToolbox are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//ForceFeedback.framework/ForceFeedback.tbd and library file /System/Library/Frameworks//ForceFeedback.framework/ForceFeedback are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreVideo.framework/CoreVideo.tbd and library file /System/Library/Frameworks//CoreVideo.framework/CoreVideo are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//Cocoa.framework/Cocoa.tbd and library file /System/Library/Frameworks//Cocoa.framework/Cocoa are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//IOKit.framework/IOKit.tbd and library file /System/Library/Frameworks//IOKit.framework/IOKit are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//QuartzCore.framework/QuartzCore.tbd and library file /System/Library/Frameworks//QuartzCore.framework/QuartzCore are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//Metal.framework/Metal.tbd and library file /System/Library/Frameworks//Metal.framework/Metal are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//Security.framework/Security.tbd and library file /System/Library/Frameworks//Security.framework/Security are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//OpenAL.framework/OpenAL.tbd and library file /System/Library/Frameworks//OpenAL.framework/OpenAL are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//AppKit.framework/Versions/C/AppKit.tbd and library file /System/Library/Frameworks//AppKit.framework/Versions/C/AppKit are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreData.framework/Versions/A/CoreData.tbd and library file /System/Library/Frameworks//CoreData.framework/Versions/A/CoreData are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//ApplicationServices.framework/Versions/A/ApplicationServices.tbd and library file /System/Library/Frameworks//ApplicationServices.framework/Versions/A/ApplicationServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreImage.framework/Versions/A/CoreImage.tbd and library file /System/Library/Frameworks//CoreImage.framework/Versions/A/CoreImage are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation.tbd and library file /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//Foundation.framework/Versions/C/Foundation.tbd and library file /System/Library/Frameworks//Foundation.framework/Versions/C/Foundation are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreGraphics.framework/Versions/A/CoreGraphics.tbd and library file /System/Library/Frameworks//CoreGraphics.framework/Versions/A/CoreGraphics are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreText.framework/Versions/A/CoreText.tbd and library file /System/Library/Frameworks//CoreText.framework/Versions/A/CoreText are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//ImageIO.framework/Versions/A/ImageIO.tbd and library file /System/Library/Frameworks//ImageIO.framework/Versions/A/ImageIO are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//ColorSync.framework/Versions/A/ColorSync.tbd and library file /System/Library/Frameworks//ColorSync.framework/Versions/A/ColorSync are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSyncLegacy.framework/Versions/A/ColorSyncLegacy.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSyncLegacy.framework/Versions/A/ColorSyncLegacy are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreServices.framework/Versions/A/CoreServices.tbd and library file /System/Library/Frameworks//CoreServices.framework/Versions/A/CoreServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreFoundation.framework/Versions/A/CoreFoundation.tbd and library file /System/Library/Frameworks//CoreFoundation.framework/Versions/A/CoreFoundation are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CFNetwork.framework/Versions/A/CFNetwork.tbd and library file /System/Library/Frameworks//CFNetwork.framework/Versions/A/CFNetwork are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList are out of sync. Falling back to library file for linking.
ld: warning: object file (../../../libraries/osx/fmt/lib/libfmt.a(format.cc.o)) was built for newer OSX version (10.13) than being linked (10.12)
ld: warning: text-based stub file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation.tbd and library file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation are out of sync. Falling back to library file for linking.

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/6327/display/redirect

Successful build - Chance fights ever on the side of the prudent.

builderr-debug-clang7.txt
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:38:17: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:38:18)>' requested here
                                | Exec::then([]{return 6;});
                                            ^
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:48:17: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:48:18)>' requested here
                                | Exec::then([]{return 'o';})
                                            ^
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:32:32: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<TestAsFuture::(lambda at /zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:32:43)>' requested here
        static constexpr auto check = Exec::then([](decltype(value) in){TS_ASSERT_EQUALS(in, value);});
                                      ^
/zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:49:7: note: in instantiation of static data member 'TestAsFuture::check' requested here
                                | check<'o'>
                                  ^
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:50:21: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::AsFuture::Fn, true>::operator()<>' requested here
                                | Exec::asFuture();
                                                ^
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:61:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:61:17)>' requested here
                        | Exec::then([]{throw 0;})
                                    ^
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:62:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:62:17)>' requested here
                        | Exec::then([&]{std::get<0>(isExecuted) = true;})
                                    ^
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:81:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:81:17)>' requested here
                        | Exec::then([&testFuture]() -> int& {return testFuture;});
                                    ^
7 warnings generated.
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:50:47: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::SyncWait::Fn, true>::operator()<>' requested here
                Exec::thisThread.Schedule() | Exec::syncWait();
                                                            ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:55:61: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_Then.h:55:62)>' requested here
                const auto work = Exec::thisThread.Schedule() | Exec::then([&]{test = expected;});
                                                                          ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:65:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_Then.h:65:17)>' requested here
                        | Exec::then([]{return 4;}) // int{4}
                                    ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:66:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_Then.h:66:17)>' requested here
                        | Exec::then([](const int in){return static_cast<float>(in + 5);}) // float{9}
                                    ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:67:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_Then.h:67:17)>' requested here
                        | Exec::then([](const float in){return in / 2;}) // float{4.5};
                                    ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:68:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_Then.h:68:17)>' requested here
                        | Exec::then([](const float in){return static_cast<int>(in * 8);}); // int{36}
                                    ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:78:20: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_Then.h:78:21)>' requested here
                return Exec::then([](std::array<int, 2> in)
                                 ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:86:20: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_Then.h:86:21)>' requested here
                return Exec::then([](const std::array<int, 3> in)
                                 ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:96:38: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_Then.h:96:39)>' requested here
                constexpr auto produce = Exec::then([]{return std::array<int, 3>{6, 3, 12};});
                                                   ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:74:32: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<TestThen::(lambda at /zpool0/clang7/source/ps/Execution/tests/test_Then.h:74:43)>' requested here
        static constexpr auto check = Exec::then([](decltype(value) in){TS_ASSERT_EQUALS(in, value);});
                                      ^
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:97:68: note: in instantiation of static data member 'TestThen::check' requested here
                Exec::syncWait(Exec::thisThread.Schedule() | produce | Clamp() | check<6>);
                                                                                 ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:103:38: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_Then.h:103:39)>' requested here
                constexpr auto thrower = Exec::then([]{throw 12;});
                                                   ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:104:31: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_Then.h:104:32)>' requested here
                const auto task = Exec::then([&]{std::get<0>(isExecuted) = true;});
                                            ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:122:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_Then.h:122:17)>' requested here
                        | Exec::then([&testThen]() -> int& {return testThen;})
                                    ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:123:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_Then.h:123:17)>' requested here
                        | Exec::then([](int& in) -> int&
                                    ^
14 warnings generated.
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:36:44: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:36:45)>' requested here
                        Exec::thisThread.Schedule() | Exec::then([]{return 3;}),
                                                                ^
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:38:44: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:38:45)>' requested here
                        Exec::thisThread.Schedule() | Exec::then([]{return std::array<int, 2>{1, 2};})
                                                                ^
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:39:17: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:39:18)>' requested here
                ) | Exec::then([](std::tuple<int, Exec::VoidTag, std::array<int, 2>> in)
                              ^
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:52:44: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:52:45)>' requested here
                        Exec::thisThread.Schedule() | Exec::then([]{throw 12;}),
                                                                ^
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:53:44: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:53:45)>' requested here
                        Exec::thisThread.Schedule() | Exec::then([]{throw -6;}),
                                                                ^
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:54:44: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:54:45)>' requested here
                        Exec::thisThread.Schedule() | Exec::then([&]{std::get<0>(isExecuted) = true;}));
                                                                ^
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:74:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:74:17)>' requested here
                        | Exec::then([&testWhenAll]() -> int& {return testWhenAll;}));
                                    ^
7 warnings generated.
builderr-release-clang7.txt
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:38:17: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:38:18)>' requested here
                                | Exec::then([]{return 6;});
                                            ^
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:48:17: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:48:18)>' requested here
                                | Exec::then([]{return 'o';})
                                            ^
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:32:32: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<TestAsFuture::(lambda at /zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:32:43)>' requested here
        static constexpr auto check = Exec::then([](decltype(value) in){TS_ASSERT_EQUALS(in, value);});
                                      ^
/zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:49:7: note: in instantiation of static data member 'TestAsFuture::check' requested here
                                | check<'o'>
                                  ^
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:50:21: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::AsFuture::Fn, true>::operator()<>' requested here
                                | Exec::asFuture();
                                                ^
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:61:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:61:17)>' requested here
                        | Exec::then([]{throw 0;})
                                    ^
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:62:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:62:17)>' requested here
                        | Exec::then([&]{std::get<0>(isExecuted) = true;})
                                    ^
In file included from ../../../source/ps/Execution/tests/test_AsFuture.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:20:
In file included from ../../../source/ps/Execution/AsFuture.h:22:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:81:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_AsFuture.h:81:17)>' requested here
                        | Exec::then([&testFuture]() -> int& {return testFuture;});
                                    ^
7 warnings generated.
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:50:47: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::SyncWait::Fn, true>::operator()<>' requested here
                Exec::thisThread.Schedule() | Exec::syncWait();
                                                            ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:55:61: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_Then.h:55:62)>' requested here
                const auto work = Exec::thisThread.Schedule() | Exec::then([&]{test = expected;});
                                                                          ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:65:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_Then.h:65:17)>' requested here
                        | Exec::then([]{return 4;}) // int{4}
                                    ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:66:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_Then.h:66:17)>' requested here
                        | Exec::then([](const int in){return static_cast<float>(in + 5);}) // float{9}
                                    ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:67:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_Then.h:67:17)>' requested here
                        | Exec::then([](const float in){return in / 2;}) // float{4.5};
                                    ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:68:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_Then.h:68:17)>' requested here
                        | Exec::then([](const float in){return static_cast<int>(in * 8);}); // int{36}
                                    ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:78:20: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_Then.h:78:21)>' requested here
                return Exec::then([](std::array<int, 2> in)
                                 ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:86:20: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_Then.h:86:21)>' requested here
                return Exec::then([](const std::array<int, 3> in)
                                 ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:96:38: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_Then.h:96:39)>' requested here
                constexpr auto produce = Exec::then([]{return std::array<int, 3>{6, 3, 12};});
                                                   ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:74:32: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<TestThen::(lambda at /zpool0/clang7/source/ps/Execution/tests/test_Then.h:74:43)>' requested here
        static constexpr auto check = Exec::then([](decltype(value) in){TS_ASSERT_EQUALS(in, value);});
                                      ^
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:97:68: note: in instantiation of static data member 'TestThen::check' requested here
                Exec::syncWait(Exec::thisThread.Schedule() | produce | Clamp() | check<6>);
                                                                                 ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:103:38: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_Then.h:103:39)>' requested here
                constexpr auto thrower = Exec::then([]{throw 12;});
                                                   ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:104:31: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_Then.h:104:32)>' requested here
                const auto task = Exec::then([&]{std::get<0>(isExecuted) = true;});
                                            ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:122:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_Then.h:122:17)>' requested here
                        | Exec::then([&testThen]() -> int& {return testThen;})
                                    ^
In file included from ../../../source/ps/Execution/tests/test_Then.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_Then.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_Then.h:123:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_Then.h:123:17)>' requested here
                        | Exec::then([](int& in) -> int&
                                    ^
14 warnings generated.
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:36:44: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:36:45)>' requested here
                        Exec::thisThread.Schedule() | Exec::then([]{return 3;}),
                                                                ^
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:38:44: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:38:45)>' requested here
                        Exec::thisThread.Schedule() | Exec::then([]{return std::array<int, 2>{1, 2};})
                                                                ^
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:39:17: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:39:18)>' requested here
                ) | Exec::then([](std::tuple<int, Exec::VoidTag, std::array<int, 2>> in)
                              ^
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:52:44: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:52:45)>' requested here
                        Exec::thisThread.Schedule() | Exec::then([]{throw 12;}),
                                                                ^
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:53:44: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:53:45)>' requested here
                        Exec::thisThread.Schedule() | Exec::then([]{throw -6;}),
                                                                ^
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:54:44: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:54:45)>' requested here
                        Exec::thisThread.Schedule() | Exec::then([&]{std::get<0>(isExecuted) = true;}));
                                                                ^
In file included from ../../../source/ps/Execution/tests/test_WhenAll.cpp:18:
In file included from /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:21:
In file included from ../../../source/ps/Execution/SyncWait.h:21:
../../../source/ps/Execution/Execution.h:142:53: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                return SenderAdaptor<CRTP, std::decay_t<Args>...>{*this, {std::forward<Args>(args)...}};
                                                                  ^~~~~
                                                                  {    }
/zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:74:16: note: in instantiation of function template specialization 'PS::Execution::MakeSenderAdaptor<PS::Execution::Then::Fn, true>::operator()<(lambda at /zpool0/clang7/source/ps/Execution/tests/test_WhenAll.h:74:17)>' requested here
                        | Exec::then([&testWhenAll]() -> int& {return testWhenAll;}));
                                    ^
7 warnings generated.

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/8023/display/redirect

phosit requested review of this revision.Aug 16 2022, 4:20 PM
vladislavbelov added a subscriber: vladislavbelov.EditedAug 16 2022, 4:49 PM

I don't think adding a proposal interface is a good idea. We already have a plenty of code (not the best quality) to support. Also I prefer to have as simple interface as possible.

Stan added reviewers: Restricted Owners Package, vladislavbelov, wraitii.Aug 16 2022, 4:51 PM
Stan added subscribers: jprahman, Mercury, Stan.

cc @Mercury @jprahman

Gotta have to check those includes, lots are missing. Can we do without boost? We're trying to reduce the dependency on it where possible.

What's the advantage of this? Will it incur extra overhead on the TaskManager?

source/ps/Execution/WhenAll.h
23โ€“25
source/ps/Execution/tests/test_Then.h
24โ€“25
source/ps/Execution/tests/test_WhenAll.h
25โ€“26

Gotta have to check those includes, lots are missing.

I deliberately omitted thous wich are already included in Execution.h. I'll add them in the next diff

Can we do without boost? We're trying to reduce the dependency on it where possible.

Yes should be trivial to replace it with std::optional and std::variant. Once we support them.

What's the advantage of this?

Exceptions are propagated in the task. -> they don't escape to the thread runLoop.
It is easier to describe the execution graph in code. Joining two branches is just a whenAll. Until now you needed to add a extra task to the TaskManager and syncronize manualy.
With coroutines all senders would be awaitable which makes them even more useful.

Will it incur extra overhead on the TaskManager?

The Future system that we have right now has drawbacks. There is std::function in the Future and the TaskManager queue; dynamic allocation; shared state and type erasure. All of thous can be eliminated.
For the moment this patch would incur overhead: we have to build on top of the Future system we have. That can be changed: intrusive linked list without heap-allocation https://github.com/brycelelbach/wg21_p2300_std_execution/blob/8bc0955c008652937948af784b7b6ccedecec23c/include/execution.hpp#L2720-L2887

I don't think adding a proposal interface is a good idea. We already have a plenty of code (not the best quality) to support. Also I prefer to have as simple interface as possible.

I prefer abstract interfaces, I don't want to fiddle with atomics or condition_variables.
But fair question: Do we even need this lib?

An other arguments ;)
The syntax for recurrent tasks https://code.wildfiregames.com/D3877 would be easy: syncWait(taskManager.schedule() | task | repeatAfter(duration)).

From a 40,000ft view, libraries like libunifex already implement similar sender-receiver functionality ร  la the wg21 P2300 paper. Are there particular advantages of adding our own implementation of a subset of p2300 vs. adopting a library like libunifex which offers a much broader set of functionality?

Also, I'd be curious to see a stacked diff showing existing code migrated to sender-receiver std::execution model and what the resulting improvement in readability/maintainability/performance could look like.

source/ps/Execution/Execution.h
27

May be helpful to include a reference to the upstream C++ standards proposal for this as documentation

source/ps/Execution/SyncWait.h
37

Receiver here looks like an internal implementation detail, do we typically hide these sorts of things inside a "namespace detail" sub-namespace?

52

Couldn't the lock guard be moved down to just before line 63 since only m_Done participates in the condition_variable::wait() call?

source/ps/Execution/Then.h
38

typo nit: Receiver

56

Are these early returns needed?

64โ€“67

Is there any code other than the std::invoke(m_Fun, ...) calls inside the try block which could throw exceptions? Considering what the preferred behavior would be if code aside from m_Fun throws an exception (ie should only exceptions from the callback propagate down the stack, and other exceptions from the send-receive machinery be fatal instead)

113

nit: constexpr auto for type deduction on the return type (which is concretely defined in the method body)?

source/ps/Execution/WhenAll.h
152โ€“154

This is doing a full copy of previousSender?

From a 40,000ft view, libraries like libunifex already implement similar sender-receiver functionality ร  la the wg21 P2300 paper. Are there particular advantages of adding our own implementation of a subset of p2300 vs. adopting a library like libunifex which offers a much broader set of functionality?

I don't think that we want to depend on another library. Libutifex requires a newer compiler than we do.
If libunifex gets more approval, I'm in. After all we also have {fmt}.

phosit added a comment.Sep 2 2022, 7:24 PM

For now we should put ower time in improving Future and TaskManager.
When we have coroutines we should again take a look at this interface. When all compilers support coroutines we can also use libunifex.

phosit abandoned this revision.Sep 2 2022, 7:29 PM

I apologise to thous who put time in reviewing.