text:
flat_for_each_field not working on MSVC

#include <boost/pfr/flat/core.hpp>

int main() {
    struct nested { int i; short data[3]; };
    struct foo { int i; nested n; };
    std::size_t sum = 0;
    boost::pfr::flat_for_each_field(foo{1, {2, {3, 4, 5}}}, [&sum](auto v) {
        sum += v;
    });
}

This example does not compile, even with /std:c++17 and without /permissive-.
Reproduce: just paste the code in a new console project, set it to c++17 and conformance mode to 'no'

This is the error message:
1>    C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\CL.exe /c /Imagic_get\include /Zi /nologo /W3 /WX- /diagnostics:classic /sdl /O2 /Oi /GL /D NDEBUG /D _CONSOLE /D _UNICODE /D UNICODE /Gm- /EHsc /MD /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /std:c++17 /Yu"pch.h" /Fp"x64\Release\ConsoleApplication10.pch" /Fo"x64\Release\\" /Fd"x64\Release\vc141.pdb" /Gd /TP /FC /errorReport:prompt ConsoleApplication10.cpp
1>    Tracking command:
1>    C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Tracker.exe /d "C:\Program Files (x86)\MSBuild\15.0\FileTracker\FileTracker32.dll" /i "C:\Users\Jan Wilmans\source\repos\ConsoleApplication10\ConsoleApplication10\x64\Release\ConsoleA.D2A74CDF.tlog" /r "C:\USERS\JAN WILMANS\SOURCE\REPOS\CONSOLEAPPLICATION10\CONSOLEAPPLICATION10\CONSOLEAPPLICATION10.CPP" /b MSBuildConsole_CancelEvent3fe69d296dda41e989270a8edadfde3e  /c "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\CL.exe"  /c /Imagic_get\include /Zi /nologo /W3 /WX- /diagnostics:classic /sdl /O2 /Oi /GL /D NDEBUG /D _CONSOLE /D _UNICODE /D UNICODE /Gm- /EHsc /MD /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /std:c++17 /Yu"pch.h" /Fp"x64\Release\ConsoleApplication10.pch" /Fo"x64\Release\\" /Fd"x64\Release\vc141.pdb" /Gd /TP /FC /errorReport:prompt ConsoleApplication10.cpp
1>    ConsoleApplication10.cpp
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(103): error C3779: 'boost::pfr::detail::loophole': a function that returns 'auto' cannot be used before it is defined
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(59): note: see declaration of 'boost::pfr::detail::loophole'
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(162): note: see reference to class template instantiation 'boost::pfr::detail::loophole_type_list_lref<T,U>' being compiled
1>            with
1>            [
1>                T=type,
1>                U=indexes
1>            ]
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(237): note: see reference to function template instantiation 'auto boost::pfr::detail::tie_as_tuple_loophole_impl<T>(T &) noexcept' being compiled
1>            with
1>            [
1>                T=main::foo
1>            ]
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\flat\core.hpp(133): note: see reference to function template instantiation 'auto boost::pfr::detail::tie_as_flat_tuple<T>(T &)' being compiled
1>            with
1>            [
1>                T=main::foo
1>            ]
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\consoleapplication10.cpp(11): note: see reference to function template instantiation 'void boost::pfr::flat_for_each_field<main::foo,main::<lambda_611397c7fcdc2babe31551a0ec0cc907>>(T &&,F &&)' being compiled
1>            with
1>            [
1>                T=main::foo,
1>                F=main::<lambda_611397c7fcdc2babe31551a0ec0cc907>
1>            ]
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(128): error C3779: 'boost::pfr::detail::loophole': a function that returns 'auto' cannot be used before it is defined
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(59): note: see declaration of 'boost::pfr::detail::loophole'
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(166): error C3203: 'tuple': unspecialized class template can't be used as a template argument for template parameter 'S', expected a real type
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\offset_based_getter.hpp(63): error C2338: ====================> Boost.PFR: Member sequence does not indicate correct size for struct type!
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(166): note: see reference to class template instantiation 'boost::pfr::detail::offset_based_getter<type,int>' being compiled
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(168): error C2955: 'boost::pfr::detail::sequence_tuple::tuple': use of class template requires template argument list
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\sequence_tuple.hpp(78): note: see declaration of 'boost::pfr::detail::sequence_tuple::tuple'
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(168): error C2512: 'std::integral_constant<size_t,Index>': no appropriate default constructor available
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(168): note: The target type has no constructors
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(164): error C2672: 'boost::pfr::detail::make_flat_tuple_of_references': no matching overloaded function found
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(169): error C2780: 'auto boost::pfr::detail::make_flat_tuple_of_references(TupleOrUserType &,const Getter &,std::integral_constant<size_t,Index>,std::integral_constant<size_t,1>) noexcept': expects 4 arguments - 3 provided
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\make_flat_tuple_of_references.hpp(40): note: see declaration of 'boost::pfr::detail::make_flat_tuple_of_references'
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(169): error C2780: 'boost::pfr::detail::sequence_tuple::tuple<> boost::pfr::detail::make_flat_tuple_of_references(TupleOrUserType &,const Getter &,std::integral_constant<size_t,Index>,std::integral_constant<size_t,0>) noexcept': expects 4 arguments - 3 provided
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\make_flat_tuple_of_references.hpp(37): note: see declaration of 'boost::pfr::detail::make_flat_tuple_of_references'
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(169): error C2780: 'auto boost::pfr::detail::make_flat_tuple_of_references(TupleOrUserType &,const Getter &,std::integral_constant<size_t,Index>,std::integral_constant<size_t,Index>) noexcept': expects 4 arguments - 3 provided
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\make_flat_tuple_of_references.hpp(34): note: see declaration of 'boost::pfr::detail::make_flat_tuple_of_references'
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(236): error C2672: 'boost::pfr::detail::tie_as_tuple_recursively': no matching overloaded function found
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(238): error C2893: Failed to specialize function template 'auto boost::pfr::detail::tie_as_tuple_recursively(T &&) noexcept'
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(238): note: With the following template arguments:
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(238): note: 'T=void'
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(241): error C3536: 'rec_tuples': cannot be used before it is initialized
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(241): error C2651: 'int': left of '::' must be a class, struct or union
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(241): error C2062: type 'unknown-type' unexpected
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(241): error C2039: 'size_v': is not a member of '`global namespace''
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(241): error C2143: syntax error: missing ';' before '{'
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(242): error C2059: syntax error: ')'
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\flat\core.hpp(133): error C3313: 'tup': variable cannot have the type 'void'
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\flat\core.hpp(135): error C3536: 'tup': cannot be used before it is initialized
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\flat\tuple_size.hpp(26): error C2651: 'void': left of '::' must be a class, struct or union
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\flat\tuple_size.hpp(36): note: see reference to alias template instantiation 'boost::pfr::flat_tuple_size<main::foo>' being compiled
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\flat\core.hpp(137): note: see reference to variable template 'const size_t flat_tuple_size_v<`main'::`2'::foo>' being compiled
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\flat\tuple_size.hpp(26): error C2062: type 'unknown-type' unexpected
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\flat\tuple_size.hpp(26): error C2039: 'size_v': is not a member of '`global namespace''
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\flat\tuple_size.hpp(36): error C2938: 'boost::pfr::flat_tuple_size<main::foo>' : Failed to specialize alias template
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\flat\tuple_size.hpp(36): error C2062: type 'unknown-type' unexpected
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\flat\tuple_size.hpp(36): error C2039: 'value': is not a member of '`global namespace''
1>    c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\flat\core.hpp(137): error C3376: 'boost::pfr::flat_tuple_size_v': only static data member templates are allowed
1>    The command exited with code 2.
1>  Done executing task "CL" -- FAILED.
1>Done building target "ClCompile" in project "ConsoleApplication10.vcxproj" -- FAILED.
1>
1>Done building project "ConsoleApplication10.vcxproj" -- FAILED.
1>
1>Build FAILED.
1>
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(103): error C3779: 'boost::pfr::detail::loophole': a function that returns 'auto' cannot be used before it is defined
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(128): error C3779: 'boost::pfr::detail::loophole': a function that returns 'auto' cannot be used before it is defined
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(166): error C3203: 'tuple': unspecialized class template can't be used as a template argument for template parameter 'S', expected a real type
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\offset_based_getter.hpp(63): error C2338: ====================> Boost.PFR: Member sequence does not indicate correct size for struct type!
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(168): error C2955: 'boost::pfr::detail::sequence_tuple::tuple': use of class template requires template argument list
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(168): error C2512: 'std::integral_constant<size_t,Index>': no appropriate default constructor available
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(164): error C2672: 'boost::pfr::detail::make_flat_tuple_of_references': no matching overloaded function found
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(169): error C2780: 'auto boost::pfr::detail::make_flat_tuple_of_references(TupleOrUserType &,const Getter &,std::integral_constant<size_t,Index>,std::integral_constant<size_t,1>) noexcept': expects 4 arguments - 3 provided
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(169): error C2780: 'boost::pfr::detail::sequence_tuple::tuple<> boost::pfr::detail::make_flat_tuple_of_references(TupleOrUserType &,const Getter &,std::integral_constant<size_t,Index>,std::integral_constant<size_t,0>) noexcept': expects 4 arguments - 3 provided
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(169): error C2780: 'auto boost::pfr::detail::make_flat_tuple_of_references(TupleOrUserType &,const Getter &,std::integral_constant<size_t,Index>,std::integral_constant<size_t,Index>) noexcept': expects 4 arguments - 3 provided
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(236): error C2672: 'boost::pfr::detail::tie_as_tuple_recursively': no matching overloaded function found
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(238): error C2893: Failed to specialize function template 'auto boost::pfr::detail::tie_as_tuple_recursively(T &&) noexcept'
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(241): error C3536: 'rec_tuples': cannot be used before it is initialized
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(241): error C2651: 'int': left of '::' must be a class, struct or union
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(241): error C2062: type 'unknown-type' unexpected
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(241): error C2039: 'size_v': is not a member of '`global namespace''
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(241): error C2143: syntax error: missing ';' before '{'
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\detail\core14_loophole.hpp(242): error C2059: syntax error: ')'
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\flat\core.hpp(133): error C3313: 'tup': variable cannot have the type 'void'
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\flat\core.hpp(135): error C3536: 'tup': cannot be used before it is initialized
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\flat\tuple_size.hpp(26): error C2651: 'void': left of '::' must be a class, struct or union
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\flat\tuple_size.hpp(26): error C2062: type 'unknown-type' unexpected
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\flat\tuple_size.hpp(26): error C2039: 'size_v': is not a member of '`global namespace''
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\flat\tuple_size.hpp(36): error C2938: 'boost::pfr::flat_tuple_size<main::foo>' : Failed to specialize alias template
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\flat\tuple_size.hpp(36): error C2062: type 'unknown-type' unexpected
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\flat\tuple_size.hpp(36): error C2039: 'value': is not a member of '`global namespace''
1>c:\users\jan wilmans\source\repos\consoleapplication10\consoleapplication10\magic_get\include\boost\pfr\flat\core.hpp(137): error C3376: 'boost::pfr::flat_tuple_size_v': only static data member templates are allowed
1>    0 Warning(s)
1>    27 Error(s)
1>
1>Time Elapsed 00:00:00.52
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

@janwilmans, according to the documentation:

MSVC currently supports only precise functions and only in /std:c++latest or /std:c++17 modes.

I'm not sure what that means? what are precise functions and get we work around them?

There's a code example:
#include <boost/pfr.hpp>

struct nested_t { char c; };
struct foo_t { int i; nested_t nested; };

static_assert(std::is_same<
    boost::pfr::flat_tuple_element_t<1, foo_t>, // Flat reflection.
    char    // `char`, not `nested_t`!
>::value, "");

// Requires C++17 or Loophole enabled:
static_assert(std::is_same<
    boost::pfr::tuple_element_t<1, foo_t>,      // Precise reflection.
    nested_t
>::value, "");

In other words, a flat reflection approach unwraps the nested structures, while the precise one accesses the fields as-is. In the example I've provided, the flattened structure will look like this:
struct nested_t { char c; };
struct foo_t {
    int i;
    char c; // from nested_t
};

Exactly the same will happen to your code:
struct foo {
    int i;
    int i_nested;
    short data[3];
};

During the Boost Formal Review a bunch of changes were requested and applied., including the removal of flat_ functions. That removes a lot of confusion.
I'll release a 2.0.0 version of the library soon. That version will be in Boost too.

authors: MKlimenko apolukhin janwilmans


text:
Adds option to add a sidebar A3 highlight

Enabled in the Vuepress site's themeConfig object with latestVersionPromo: true,. Adds the callout message shown in the sidebar here:

updated

source: gharchive/pull-request

repo: apostrophecms/vuepress-theme-apostrophe

license: MIT

license_type: permissive

license_source: github-api


text:
BeAbove and BeBelow only accept float64

More often than not I'm not comparing a float64. Perhaps we need to add the BeNumerically matcher (https://github.com/onsi/gomega/blob/master/matchers/be_numerically_matcher.go) and simply wrap that.

Done: 0584f5e

source: gharchive/issue

repo: apoydence/onpar

license: mit

license_source: bigquery


text:
:wrench: add db.t4g.x instance type

Add missing db.t4g.x instance types

/retest

repo: app-sre/aws-resource-exporter


text:
Tailwind Config in the Element Emulator

I would like to request to include the tailwind config and related config files that we have created in Elements. Currently, when running applications, these files are not included in the emulator.

@sudhi-neoito  did you mean the elements folder generated on build?

In both runtime and build

authors: Digambaran sudhi-neoito

repo: appblocks-hub/BB-CLI


text:
systemd-nspawn: prints timezone warning

Every time I've seen acbuild run used, the following warning is printed before the actual command is exec'd:
Timezone Europe/Berlin does not exist in container, not updating container timezone.

We should prevent the error from being printed.

@dgonyeo https://github.com/coreos/rkt/pull/226

authors: dgonyeo jonboulle

repo: appc/acbuild


text:
Swap arrow direction in List->SortHeader

The arrow orientation should be:

ascending: up arrow
descending: down arrow

This change fixes that for the List SortHeader component

Ascending => UP

Descending => DOWN

repo: appfolio/react-gears


text:
Support k8s > 1.16

There are some changes when creating CRD:

API version v1beta1 has been deprecated
a json schema is required now for each CRD (we should be able to derive this automatically from the open spec API)

any updates to this issue?  We are running 1.22.4 and cannot deploy the CRDs.  Thank you!

Much appreciate the update! Is there an ETA on when this might get updated? Thanks!

authors: defcy35 israel-morales lepiolet

repo: appgate/sdp-operator


text:
Fixes the post_elements return

We can now use the selenium driver.find_elements_by_id() without problems.

@davidmokos Please sign the CLA, so we can merge your PR.

@mykola-mokhnach I have already signed the CLA. If I open it, it is signed and I can't do any other action. Any advise?

Make sure you have the correct email address set in your local git config (the same that was used to sign the CLA)

I added the email to my account. Is everything correct now?

try to push a new commit with the updated email address or recreate the PR

Now it seems to be ok.

Can you merge the changes and close the pull request?

Can you merge the changes and close the pull request?

authors: davidmokos mykola-mokhnach

repo: appium/appium-for-mac


text:
저장시 관계 문제

좋은 글 감사합니다.
현재 포럼  ArticleController를 하던중
$article = Article::create($request->all());
데이타 베이스 관계관련 에러가 나오네요.
아마 author_id의 입력때문인것 같은데요.
$article = new Article();
$article->title = $request->input('title');
$article->content = $request->input('content');
$article->notification = $request->input('notification');
$article->author_id = \Auth::id();
$article->save();
이렇게 해서 오류를 피했습니다.
혹시 다른 부분(모델등)에서 빼놓은게 있을까요?

$article = auth()->user()->articles()->create($request->all());

// 또는

$article = Auth::user()->articles()->create($request->all());

로 해보세요.
정확한 커밋 해시의 코드 라인 번호를 몰라 제가 놓친 것인지, @corean 님이 놓친 부분이 있는 지 모르겠습니다. 해 보시고 결과 알려주세요.

네 알려주신 코드로 잘 작동됩니다.
완성본 코드: https://github.com/appkr/l5essential/blob/master/app/Http/Controllers/ArticlesController.php#L86
여기에는 변경이 되어 있습니다.
강좌내용:
https://github.com/appkr/l5essential/blob/master/lessons/37-articles.md

예 이것도 역시 뒤로 가면서 하나씩 잡아 가는 부분입니다.

authors: appkr corean


text:
[index] Fix default value for listening to unit changes

Was preventing index from being populated by default.

@swift-ci please test

repo: apple/sourcekit-lsp


text:
Need to Import CoreFoundation next to Foundation

Is it anticipated that I need to import CoreFoundation explicitly next to Foundation to use the symbols CFBooleanGetTypeID and CFGetTypeID when building for Linux?
I ran into the issue when adding json-apple dependency to my Vapor app. It ran as expected on macOS but when building for linux failed with:
…
7.335 [13/884] Compiling JSON Dictionary+JSON.swift
7.335 /build/.build/checkouts/json-apple/Sources/JSON/Dictionary+JSON.swift:73:9: error: cannot find 'CFBooleanGetTypeID' in scope
7.335         CFBooleanGetTypeID() == CFGetTypeID(self)
7.335         ^~~~~~~~~~~~~~~~~~
7.335 /build/.build/checkouts/json-apple/Sources/JSON/Dictionary+JSON.swift:73:33: error: cannot find 'CFGetTypeID' in scope
7.335         CFBooleanGetTypeID() == CFGetTypeID(self)
7.335                                 ^~~~~~~~~~~
7.335 /build/.build/checkouts/json-apple/Sources/JSON/JSON.swift:644:9: error: cannot find 'CFBooleanGetTypeID' in scope
7.335         CFBooleanGetTypeID() == CFGetTypeID(self)
7.335         ^~~~~~~~~~~~~~~~~~
7.335 /build/.build/checkouts/json-apple/Sources/JSON/JSON.swift:644:33: error: cannot find 'CFGetTypeID' in scope
7.335         CFBooleanGetTypeID() == CFGetTypeID(self)
7.335                                 ^~~~~~~~~~~
7.356 error: fatalError

(more details here: https://github.com/shareup/json-apple/issues/6)
I created a simple repro here: https://github.com/abegehr/json-apple-vapor/
It turns out that when building on Linux and referencing CFBooleanGetTypeID or CFGetTypeID, CoreFoundation needs to be imported in every file that tries to reference these symbols, otherwise it fails with "cannot find in scope", even though Foundation is imported which in turn imports CoreFoundation. Building for macOS works as expected and I don't need to explicitly import CoreFoundation in each file.
I'm using Swift 5.9 and the default Dockerfile from vapor 4.89.0: https://github.com/abegehr/json-apple-vapor/blob/main/Dockerfile
Build command: RUN swift build -c release --static-swift-stdlib -Xlinker -ljemalloc - without the flags same error.

Yes, CoreFoundation is an internal implementation detail, and is not really meant to be used outside of the implementation of Foundation itself.

authors: abegehr compnerd

repo: apple/swift-corelibs-foundation


text:
SR-6403: NSURLRequest: implement description and add tests

Implement NSURLRequest.description to match Darwin. Add tests.
Also add a test for URLRequest.description which was already correct but untested.

@swift-ci please test

LGTM

@swift-ci please test and merge

@ianpartridge these have conflicts with the normalisation tests that you wrote and were merged. Can you rebase these onto master and resubmit?

@swift-ci please test and merge

@swift-ci please test and merge

@swift-ci please test and merge

@swift-ci please test and merge

authors: alblue ianpartridge


text:
[6.0] Allow custom include path for Dispatch

Cherry pick for release/6 of https://github.com/apple/swift-corelibs-foundation/pull/5025

@swift-ci test


text:
Move -num-threads tests to single function

This is just an organizational change to keep all the tests for
-num-threads behavior in one place.

@DougGregor I don't feel super strongly about this but wdyt?

@swift-ci please test

authors: DougGregor keith

repo: apple/swift-driver


text:
[BuildSystem] Produced nodes should always validate producer result

Produced nodes should always validate (depend on) the result of the
node(s) that produce them. For example, if a build manifest changes such
that a previously plain file input node is now a derived file produced
by another rule, we would previously miss that change and never scan the
producer.
This change alters Rule::isResultValid to receive the whole Result object.
ProducedNodeTask::isResultValid uses that to check that its producer
node is marked as a dependency.
rdar://problem/48578317

See individual commit messages for more detailed explanation of the two changes.

@swift-ci please smoke test

I split the second change out from this PR and added a test just for this specific change.

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test linux

repo: apple/swift-llbuild


text:
README: update the CI links

Several of the links were returning 404. Reading the job configuration
swift.org. The listed jobs are

LLDB Incremental

macOS

Ubuntu 14.04

Ubuntu 16.04

Ubuntu 18.04

@swift-ci please test

authors: dcci scanf

repo: apple/swift-lldb


text:
Accept PING frames even when fully quiesced

Motivation:
When the connection is fully quiesced, an endpoint responds with a connection error when it receives a PING frame. This behaviour is unnecessary.
Modifications:

Adjust HTTP2ConnectionStateMachine to accept PING frames even when the connection is fully quiesced.

Result:
When the connection is fully quiesced, an endpoint will treat the receipt of a PING frame as it would when the connection is active.

Oops. Yes, of course.

@swift-server-bot test this please

authors: Lukasa clintonpi


text:
build --product always attempts to download unrelated binary artifacts

Description
I've run into a chicken and egg problem with binary artifacts. I'm introducing a binary artifact to an existing package and therefore I do not yet have an artifact URL to reference in Package.swift. However, I'm also unable to build the package because SwiftPM always attempts to download the artifact even when --product is used. I can uncomment the plugin and binary artifact parts, but it still seems like a bug that --product always attempts to download artifacts that aren't a dependency of the specified product.
Expected behavior
SwiftPM should respect the --product argument and not attempt to download artifacts that are not dependencies of the specified product.
Actual behavior
SwiftPM always attempts to download the artifact, resulting in a failure because no artifact exists yet.
Steps to reproduce

Clone https://github.com/ileitch/swift-pm-build-product-bug
Run swift build --product mytool
Observe the output:

Downloading binary artifact https://example.com/some.artifactbundle.zip
error: failed downloading 'https://example.com/some.artifactbundle.zip' which is required by binary target 'MyToolBinary': badResponseStatusCode(404)

Swift Package Manager version/commit hash
5.9.0 beta 1
Swift & OS version (output of swift --version ; uname -a)
swift-driver version: 1.82.2 Apple Swift version 5.9 (swiftlang-5.9.0.114.6 clang-1500.0.27.1)
Target: arm64-apple-macosx13.0
Darwin Ians-MBP.local 22.5.0 Darwin Kernel Version 22.5.0: Mon Apr 24 20:53:19 PDT 2023; root:xnu-8796.121.2~5/RELEASE_ARM64_T6020 arm64

I don't think --product affects what gets fetched, it just affects what gets build.

OK, I double-checked and only the build system knows about the explicit product. As such, it seems like this is working as designed.

authors: ileitch neonichu

repo: apple/swift-package-manager


text:
[swift-build] Improve --clean=dist

I wrote the same error handling as the following.
https://github.com/apple/swift-package-manager/blob/master/Sources/Utility/misc.swift#L32-L36
The reason why I did that is to ignore ENOENT when running --clean or --clean=dist twice.
error: rmdir error: No such file or directory (2):

In my opinion, it is not better to display error message.
Because the directory is specified by SwiftPM.
It is not that SwiftPM USER made a mistake.
So, I think it might to ignore ENOENT.

The rmtree function should error if it is asked to delete a directory and the directory does not exist.
If you want the clean behavior to be different it is not correct to edit the rmtree function and change its behavior.

That is true.
Thank you for the quick review.
I just improved. (#264)
I don't edit the rmtree function.

authors: JPMartha mxcl


text:
[Stress Tester] Report XFails whose file was not tested in the current run

If the file covered by an XFail is not tested in the current run, it appears neither in the expected failures, nor in the unexpected failures section.
List these XFails their own section. I deliberately chose not to fail the stress tester if we have one of these XFails because
a) files also end up here if their project isn’t run in the current stress tester run (might be interesting if we include more projects in the weekly run again)
b) the XFail is still valid but it’s shadowed by a different failure which causes the stress tester to not reach the XFailed file
If neither of these reasons applies, we can remove an XFail.

@swift-ci Please stress test

@swift-ci Please test

Current PR testing does not support stress tester

authors: ahoppen shahmishal

repo: apple/swift-source-compat-suite


text:
[docs] Use `` around @noescape and @autoclosure like we do in other places in SIL.rst.

NFC.

@swift-ci smoke test and merge

repo: apple/swift