Issue 97980
Summary Use of lambda _expression_ in `noexcept operator` causes `clang` crash
Labels clang
Assignees
Reporter Life4gal
    I wrote a piece of code for testing purposes:
```cpp
#include <algorithm>
#include <functional>
#include <ranges>

template<typename T>
struct foo
{
 template<typename U>
    constexpr static auto bar(
        const U from,
        const std::type_identity_t<U> to
    )
    {
 return 42;
    }

    template<typename Container, typename U>
 constexpr static auto bar(
        Container& container,
 const U from,
        const std::type_identity_t<U> to,
        const std::size_t count
    )
    noexcept(noexcept(
 std::ranges::generate_n(
 std::back_inserter(container),
                            count,
 [from, to]() noexcept(noexcept(foo::bar(from, to))) { return foo::bar(from, to); }) //
    )) -> void
    {
 std::ranges::generate_n(
 std::back_inserter(container),
                            count,
 [from, to]() noexcept(noexcept(foo::bar(from, to))) { return foo::bar(from, to); });
    }
};

int main() {
 return 0;
}
```

The result of the compilation is shown below (you can also check out the [godbolt link](https://godbolt.org/#z:OYLghAFBqd5QCxAYwPYBMCmBRdBLAF1QCcAaPECAMzwBtMA7AQwFtMQByARg9KtQYEAysib0QXACx8BBAKoBnTAAUAHpwAMvAFYTStJg1DIApACYAQuYukl9ZATwDKjdAGFUtAK4sGIAGykrgAyeAyYAHI%2BAEaYxCBmAMykAA6oCoRODB7evgGp6ZkCoeFRLLHxSbaY9o4CQgRMxAQ5Pn6BdpgOWQ1NBCWRMXEJyQqNza15HeP9YYPlw0kAlLaoXsTI7BzmiWHI3lgA1CaJbmLAJIQILCfYJhoAgjt7B5jHp1ReDN0CYrf3TySLy8RxObmIhmAmAU/0eAIImBYKQMCLBBAAnilGKw3gAVWEPMbELwOQ78VAAkwAdisj0O9MOCKRKMwaMx2LYhzkBIZhzQDDGmFUKWIhzGTEcyEOTC8REO0SaEABvN5/LGXLJxFQLFIypV9LVBDFBHQIBAGKxAH08FhBIR0ZaCGDuYlsIyKXSGUs9fTqbSHvr6cRMAR1gxDpIzCd/bzqQARSme%2BlM5ES1mnC0ct4eQRMOZkRns5icl13JN8gSC4Wi8WS6Wy1DyxU%2BlU5xr58z%2BCu5/O68uqytGuSa7V9gOBw3G03m9nW22ODGO523d1jwPd9VjacZABemEdFa%2BTvL3vLDFQQs2KQIEHPl8w16V/YZW7NEKM0LNUPCEIRloYT7juuwHAa%2BIAKsgADW1oCnECLEBA/Ltj%2BKwtiB6EMmgR5rhhuG%2BgArBYVBajq7omPhcYQEshx3qoV43rR9HUKgqBmgqCHEaO7pLDxxw0ocwahsQ4bkmxiqcaRRDeokFh8XG1EAPQKS2vEALQrgAbqgNotn6aEviab6Qp%2BIDfnEab/oBeF4WBEHQWESjNHEiGyHmKE4dZ6FYYIHmecB5FESRpBkRRVE0RedEPgxEVMaJ4HiUF3G8X6AkhmGZIsWJHGJVJ0ZydJMYMvGlJUgmMmJg8YRGiwblhXp5aCelGjRiVcYcCstCcPhvB%2BNwvCsRwbjWNYYprBsbw7DwpAEJo7UrJBICJGYAB0kgABz%2BIkGhmGYGhUmtB1rVw%2BicJIPWzaQA28AoIAaNNs0rHAsBIGsBApLK5CUGgSJ0HEEQ4pwqgbap/iSHyBhGIcEAEMSDCQUsvCYPgRDEDaej8IIIhiOwUgyIIigqOoHBaKQujSAA7hCKScDwHVdedxP9ZwADysrvUaqBUIcQP%2BCDYP7JCUMw188NQx4P30KKOySAj92MzxpAIJgTBYPEVGkAtiRrct/hUgAnFwuv4VSO2JPhev4dInUcGdpC9STV22LdctaI9MBQO7EBIN9KS/WQFAuRLwwC0YXBHXdNC0PBN0QNEF3RGETTojTvAJ8wxDosz0TaF0M19aQ31sIIzMMLQyeM6QWDRF4wBnLQtA3fnWA1UY4gV/gwbdBpn4V0KXSylsU1VTUF20Hg0QQhnHhYBdMN4CwKekN3xDROkmBxoikJj0YD18AYwAKAAangmDk8zWK9VNGPCKI4i49fBNqBdujHRDxjDZY%2BjjzdkArKg15ZEbqpLcJw4ymEsNYJI/Vl6oywD/dWnQfh%2BAgK4SYfhjohDmGUCoeg0gZDqNkTwbRcGFAIQMbBwxjqIIIb0CYRC8hUJqLnHoMxyFDHiFQmYaC9DimaGwhYHCVgKDGpsCQdMODdTthdAa3Ngag3BoLMOy0uDLQ0FDXAhASDHCSFwWWedXYrCVirYY6tNYrUkPhfCZgTYWMkFIXWZgTo214AvMw2tIxUnwv4NaiR/D%2BHNtYwI9smYcGus7fR7VSBPUQCgbUvtJafUDvE4Ob8uBUg0MdSO0dKBxwrmnJOi98kZyzjnBwi9C6MAICXMuF0q41zrg3Rezct5bBJh3Zh3dG4kz7sgAei9h7WxJmPCeSdp6tN4HPBe%2Bdl6ryUBvFuwBt6gHlnvJgB9j6n3PowRe18sZ32kA/JQT8K66HwvoSEKAP42GGfAv%2BADKycGASaUB4CrCWCgZdGBNpPy/2qLULILgGDuHoegoIQL%2BE4OOngoohDciguhWQrB7CeFMKQbQloIKUX/PqKwpFAieFcMxZwvoELKFCJETjcRkjgmXU4LI3m8iQ7AEOGk1Ryj1HIy0ZNPRD1DHK1VpQcRtsF5m2WvtfwZguD4SOrrDQvizDSBpY7G6d0Ilu3gF7WJQd/ZfTiX7FAb9HSw0gnwOg2TY7x0ThnQpVrM7Z1zuU7URcqml3Lm0zA1da5iEaU3TerdxmVzwJ3RwnSLo9L6fnAZo9x6T3RGM2eqMplTRmWveZW8wjLNdqs9ZJ8z4Xx2bIPZOMDmyEfkTEmZNzk71edYL%2B0RbmXXuQKR5IDEhgKuR81AXy4HwCEaighgLgVwr0Jg0oyKoWkKyNwid%2BCsiko4X85hOK%2BjTsXWi3FY78XErocO7dsxN2QvJesURuinHUukXSnmfMFGQ2hsa6iEANEo20YkXREzeWK35SYoVLjFr4TFRtSV0rDbpPlYqi9oSnaqo/QtQ2YrJB63Wp419ltrFcEcdbRIDMHacHfSs6JBHvZ6oSQHH2%2BqNLIBSCkS0GkuB60tCyMYloeamqjnEGOuSSZFPLlNbjJSHX5wqcXV1tSPX1O9Y3KazT/W1KDR0nu3TVD9wRP0wQI8K7DNjfGiukzF4prmX6xZGbd5UH3kfXNWzL68F2bfYteN5BHPLToRaVb34QM/jc3tjaCGNwUq%2BGtlhGMEGgXEWBPyEH9oBSgoFq7R3zEhQUWdAhV0IrnXihL1CWErqJWumhG74uUNsIS3dRWSXpbJasY9lKz3YZCfSw4LAFAUcOLRvWy0gscs0VLHRPL5bzRGKtBDa0qRbTDhofwesqROOFSAfCd0lW4agy7SJhGtXJJ1Uk/VB9mApAUAgVABBWPms46nW1Nr052tKXnKaQmXU1PbmJr19dJO8Gk4sgN7Su4KcRkp3pKnI1qcGbwTToyMABt09MuIsz16GaWSZszGy83bPzjZ7GEgS340c8/BIrnLnueud/Lz/8fMtueW2gLFhO3dvC327FyDUE5bixQhdqXks5dZwwedWKl0MHRauzLy6%2BHlYXbwjFJXRdc9PcIqrYiatSIrjIq98jgDIClHekWD6n1cp63hgxn7jFqx/aQBec35c4cgyq5bCtYMrQ0GtObkZvE%2BKWlYtaTisNm5CbruaTizC1dpZBtVKxl4ZGcJIIAA%3D%3D))
![image](https://github.com/llvm/llvm-project/assets/52756109/0226eb97-0d38-4a3f-858f-309a518fb959)



_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to