<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/64211>64211</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            No viable conversion from const char* to std::string in modules
        </td>
    </tr>

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

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

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

<pre>
    I have this type:
```
struct TestSuite {
        std::string uuid;
        std::vector<TestCase*> cases {};
        TestResults results {};

        TestSuite() = delete;
        /**
         * @short This ctr shouldn't exist, since {@link std::string} has a constructor
         * for convert cstr to std::string
         * @bug Clang16 under windows linking against libc++ with mingw,
         * when the TestSuite new instance receives a const char* in a different file
         * than the main file (in particular from a module), Clang refuses to compile
         * saying that there's no viable ctr for TestSuite receiving a const char*
        */
 constexpr explicit TestSuite(const char* uuid)
            : uuid(std::move(uuid)) {}
        constexpr explicit TestSuite(std::string uuid)
            : uuid(std::move(uuid)) {}

 TestSuite(const TestSuite& rhs) = delete;
        TestSuite (TestSuite&& rhs) = delete;

        friend bool operator==(const TestSuite& lhs, const TestSuite& rhs) {
            return lhs.uuid == rhs.uuid;
 }
    };
```


In a regular cpp file, I can write:
```
TestSuite suite {"Some cstr"};
```

If I create a new instance of a `TestSuite` within a module partition, I receive:
```
no viable conversion from const char* to std::string
```

having the explicit constructor that takes a `std::string`.

### Env details
OS: Windows 11
thread-model: POSIX
clang++ --version: 16.0.5
triplet: pc-windows-gnu
stdlib: libc++

### Extra
I wasn't able to reproduce the problem under a Linux OS, but care, in Linux, I only have access to Clang's version `15.0.7-9`

I could provide more exact details if they're requested later, but I lost for the rest of today my access to the Windows environment.

By the way, you can find the full codebase here: https://github.com/Pyzyryab/Zero/commit/fc186f83dc573c8d5c1f9695ecda5407bf6ae247
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysVt2O4jYUfhpzcwRKHEjggosZZpFGqrqrzkqteufYJ8Rdx6a2A0OfvjpO2AGG2ZWqRhERPj8-f99nixD0ziKu2eKRLZ4moo-t8-svp39O_iTqSe3Uaf0MrTggxFYHiKc9suKBZU8se2BlNr7pb4i-lxG-YogvvY4IrHocJDA-ISoyLkhV2x30vVas-EjpgDI6z4oNedyIgIw_sOITSBEwJOfV0ztr0v0NQ29iAD9-b1TfG6RwGV8yvgJWPIFCgxHf-WZ8SyHwGw_A-AOweRZa5yN8pTLJ6CG0rjfKMl5FwFcdIuMbCNrKoTDzzGj77bYkrHqCVgQQIJ0dCur8ne0a50njgD6CDNFDdO9c3Q2y7newMcLu8hJ6q9DDUVvljgEoHGqK2AltQwSja8n4I-OPcNSxhU7b3ZHxzR2_xxYtxBYvem_xCORGUL4eJeoDfk8LZCs8GWoLApRuGvRoIzTa4B33sRWD-05om5SA8aW2sBc-atkb4aHxrgMBnVO9QcZXVOyUJ3hsehqY6EC6bn9_iyBOlHtsRaSdPDJeBbAODlrUBlNDqeZvCQ45pYJdJ3U7Mw80NsNa0sPXvQd83Rstdbwav-vaJHDw1U2w5LI4C5ffW965A3k429AcD0N_Zf2T_e_C8_-JYPTxPtuLlRJ8G34CwQty4ctL2x-bXztpvEaroHbOgNujF4lmnui9G5Yhvxv4QcC3REePx9h7S8YzKgoMO5DJ7Jr3rtp0RVTX_Hr5-0zA8bhLsy_3-wE6fAPPIIWFo6cAP-DptxqG7zTN-YvrMFEJ4_ynQTw3tJFHERHENdZdAwJYmb3VqcwSgSSsD_gcgBu1s0PIIz98FPAFDBPlBe3sAPhrxHzEgXdTaMVhQDy-geGCc0cqEN8Sa7Eyu_VcZrOrtvBieOGTPYDCKLQJg-jzC-Hl95Fm83xYja1HoaadU2hI_uXzy_Mfg0gSb43UO52OCZNOXs6y2WK093pvMNLyXk5HEp_ubH8-jJXRNUnfePyDeF-jF2Nb4SjCcGKlckcHHvfeqV5iqtTeu9pgN54cAn7Rtn-Fzy_UxrqPIIVPU6jtIBra66w5DXcIISWGRMWbIccqwLmhrMzyxSybVdPV7bSBpKOUdj9ohdA5T00TMp4LDbqh-E6MV56o-e8eQ0QFRkT05-CewbgQE41TLh5DpGmNTokTdKeL4Eh87hfag_bOdmjjVcMfT0ntKE7k_-T6BLxGW5XWm94YkE5hLQJCOlGKB2hj3AcaI7pJbHc6tn09k65jfHu-czG-_RO9Y3wrXdfpyPi2kfmybJaFkouqkEu1kHmzKlcLlEos5llVN6VAPq8mal2oVbESE1zn5SpbVIu8KCbtOpOVUk0hFrLiWPKCy0LIYiVrLvIVz_OJXvOMF1nFlzzLeV7McD4vm3yRlfOqwQZLNs-wE9rMjDl0M-d3Ex1Cj-tyTuZG1GhCukRyntiAhEQki6eJX5PNtO53IV16QgxvXqKOBte__meA06QNnBImvTfrHxSY9hw_0713f6Gk2qZIA-PblMm_AQAA__8fXVcY">