ChuanqiXu9 wrote:

> > I failed to understand what you want to say. If we change the file by 
> > adding a new #include, of course, it should change. But I guess you're 
> > talking about something different?
> 
> If we have headers from your example
> 
> And one more extra
> 
> Test.h
> 
> ```c++
> import m;
> ```
> 
> main.cpp is
> 
> ```c++
> #include "Dummy.h"
> 
> int dummy; // we cut preamble here
> 
> #include "Test.h"
> 
> int a = mm; 
> ```
> 
> If this works correctly without this patch, then
> 
> ```c++
> #include "Test.h"
> 
> int a = mm; 
> ```
> 
> also should be ok with `--skip-preamble-build=true`

I failed to understand your intention with the example. Why do you think this 
is a problem? I didn't think about this

> 
> For me at `vvv` modifications, hover at `mm` shows correct modified value.

I just tried it:

<img width="2546" height="1620" alt="image" 
src="https://github.com/user-attachments/assets/6d69a39d-6458-4956-a40c-44ac823296f9";
 />

The source code is here: 
https://github.com/alibaba/async_simple/tree/CXX20Modules

And the reason why I think the current approach is problematic is, the current 
approach simply breaks the design of the `CanReuse` interface. I can't believe 
it can work properly with the `CanReuse` interface otherwise we should remove 
`CanReuse`.



https://github.com/llvm/llvm-project/pull/189284
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to