Results 11 comments of yronglin

@tbaederr I've debug locally. For `b.a.f == 100`, the result `clang::APValue::isStruct()` returns true, IIUC, it's incorrect?

> Does this fail in the test suite anywhere? It's just the one from `records.cpp`, isn't it? Yeah, but there have bit difference, in `constexpr B b = B{};` `b`...

I have a PR(https://github.com/llvm/llvm-project/pull/97308) that causes the same failure in `record.cpp`.

> A couple of quick notes: > > * This is my first LLVM PR, so if there are any issues with code style or conventions, please let me know!...

> I’ve taken some time to better understand the code and think through the solution. > > I tried using `isInLifetimeExtendingContext()`, but it still returns false, and I believe I...

> but why can’t we use InLifetimeExtendingContext flag here? > Is there a subtle difference I’m missing? This flag will tiger subroutines to collect `MaterializedTemporaryExpr` and rebuild default init/arg。 All...

I have debug the issue, seems we cannot move the `__range` variable check to the start of `checkExprLifetimeImpl`, we may missing extending lifetime of temporaries. Eg. ```cpp template struct ListWrapper...

> Forgot that the revert wouldn't include the `lifetimebound` attribute. I restructured the switch case like that, in order to catch both: > > ``` > case LK_Extended: { >...