diff --git a/IDEHelper/Compiler/BfModule.cpp b/IDEHelper/Compiler/BfModule.cpp index f4521f6f..4f4b2270 100644 --- a/IDEHelper/Compiler/BfModule.cpp +++ b/IDEHelper/Compiler/BfModule.cpp @@ -13032,7 +13032,8 @@ BfTypedValue BfModule::ReferenceStaticField(BfFieldInstance* fieldInstance) BfTypedValue BfModule::GetThis() { auto useMethodState = mCurMethodState; - while ((useMethodState != NULL) && (useMethodState->mClosureState != NULL) && (useMethodState->mClosureState->mCapturing)) + while ((useMethodState != NULL) && (useMethodState->mClosureState != NULL) && (useMethodState->mClosureState->mCapturing) && + (useMethodState->mMixinState == NULL)) { useMethodState = useMethodState->mPrevMethodState; } diff --git a/IDEHelper/Tests/src/Mixins.bf b/IDEHelper/Tests/src/Mixins.bf index 166c2287..288d74e9 100644 --- a/IDEHelper/Tests/src/Mixins.bf +++ b/IDEHelper/Tests/src/Mixins.bf @@ -62,6 +62,17 @@ namespace Tests Test.Assert(val1 == 123); GetVal2!(var val2); Test.Assert(val2 == 234); + + void CheckStr(char8* cStr) + { + Test.Assert(StringView(cStr) == "Test"); + } + + function void(StringView sv) func = (sv) => + { + CheckStr(sv.ToScopeCStr!()); + }; + func("Test"); } [Test]