Closed
Description
In VS, creating a dotnet 3.0 console app with:
var list = new List<(string first, string second)>();
list.Add(("first", "second"));
Adding list[0].first in the watch window results in it being null.
This is due to funeval-ing System.Collections.Generic.List'1[T].get_Item
with two arguments via ICorDebugEval2.CallParameterizedFunction
.
The two arguments are:
[0]: "System.Collections.Generic.List'1[[System.ValueTuple'2[[System.String, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.String, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]"
[1]: "System.Int32"
However, the CorValue of this call results in "System.ValueTuple'2[[System.__Canon, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]"