<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJylVE2PmzAQ_TXmMgIREwIcOGyaVK1a9Va16mVlzCRxCzayzW7333cM-VztqocgB3_MzMt7M2Ma077UjD_Q-GSewRuwOFjTjhJZ9jAbWLph6em9Suchh-F4wj_SgJ5iOkzoGOZz_DsY64_n4NF5lq1vTFr06AYhj9YZrTj6AD1iJD47Y4BlG2D5muU0FWuLfrQaFgGv2JxRzxGNsG9HMF4I-r2KC-trhUc9QukrNaqfKN_IUNpPboyXjFdv8J-9H2iQiKNX9qadKL-yX1idMn5LcgmyE3rP-JoGxM63JFnOW55CvBssNqPqfDxXIB6EP5BLAvHPKRJi7NXZSlrQ7kItYnldy9hMLJNB9vf_8zmnJ8gAP2XwStpnDTtFHaO07MYWW9hZ059DKVeLkLLJNaFCXbjS8SqYwwvQWmPDosWd0soro-FZ-QM4ajpC0_uOoEMHhq54_PVjGThtv32Z5u_-UXbbJ7KAcCC08Qe0V1D3NRzcPizfviMnP8shBuE-AqX2SZnRXctSDogd3nNtbtlEbZ21VVaJiJAOxtZ2NH9ENNquPng_uOnDEC7JnhI6Nok0PW267uk0xfQF-Y3S01Y5N6KjRc7LvIgOtRBNKRsUucx2Vb4qK1yKcoVZWpRNVYoq6kSDnasDb841PsMEQWuSEd3PQNU85YsF59miykqeJ3krm4JLni-KFS5EzpYpUrd1ScBJjN1Htp4gm3HvyNgp593FKJxTe41Yz4mOvPId1l9F37TUOlJoKh00CKOjflPaqRbhclnmcjtykII8gPrsBdxB2GkJbMtZmbLqw3-7-OS5iSa99ST2H6krujU>52857</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Lambdas cannot be used inside c++20 modules because they share the “definition with same mangled name”
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          ruoka
      </td>
    </tr>
</table>

<pre>
    **How to reproduce:**

```cpp
// module.cpp 
export module test;
export namespace test
{
    auto foo = [] {return 1;};
    auto bar = [] {return 'a';};
}

// main.cpp 
import test;
int main()
{
    test::foo();
    test::bar();
}
```

$ clang++ -std=c++20 -fprebuilt-module-path=. -Xclang -emit-module-interface -c module.cpp -o test.pcm
$ clang++ -std=c++20 -fprebuilt-module-path=. main.cpp test.pcm -o main

In file included from main.cpp:1:
./module.cpp:6:16: error: definition with same mangled name '_ZW4testENK4testUt_clEv' as another definition
    auto bar = [] {return 'a';};
               ^
./module.cpp:5:16: note: previous definition is here
    auto foo = [] {return 1;};
               ^
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJylVE1vnDAQ_TXmMgKBCevdA4dsd6tWrXqrWvUSGWMWt8ZGtkmaf98x7GeUqIcgg43ng_fejGls-1wTeo_jk32CYMHJ0dl2EpKU94uB5DuSn56rfBliHI879CMOGDBGywy3YdmXf0frwnEfgvSBlNsbk-GD9CMXR-uSjR19AC8-IZ7OWiDlDki1JRVObOtkmJyBIuZju3PWc0TD3esRhDKO94u4uL5meOTDlblio4YZ8g0NZcLsRuia0M0r-BfvexxI4uhVvmpHyC_sF1QnxW9B3oHQ3BwI3eKA1IcWKYvlleaQdqOTzaR0SJcKpCMPPbpkkP6cIyGVgzpbkYt0XaxFKq5rmdoZZTaK4f1fPmt6ShnTzwpeUftsoFPYMcoIPbWyhc7Z4RyKWhVRstk1w0JdsOL2KprjA6Rz1sVFKztlVFDWwJMKPXhsOsxmDhpTxw6MXfHw68ddxLT_9mWev4cHofePaAHugRsbeumuUr2v4eD2ItX-DTrVmQ4iiOcRUNpHZSd_TUt5QHTyPcfmFk3S1mW7KTc8CSpoWX_lQ9OiDoIbxAGNhMmjeMp41Uq4VH7B7tFBcPQAFO0ZfM_dvASyp2Sdk82H_5bk5LlLJqfrPoTRzz-jeDAPGDE1mbADvmj9eJpS_Gv9liLgq_J-kh4XFV1XLOnropSMVYVseVGwNe9Ktm6bnG04WxW0LFiieSO1r6NWlBr5BHMKXKN0iappTouCouemXNMqq1rRMCpoVbCVLHhF7nKJ_amziCOz7pC4eobUTAePRq188Bcj914djJT1UpoEy9VbV7vJ_uHJ_OF6Bv4PibyjtQ">