Improve SerializerFinder to proper handling of IUnknowableSerializer

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Unknown
    • 3.7.1
    • Affects Version/s: None
    • Component/s: None
    • None
    • None
    • Fully Compatible
    • Dotnet Drivers
    • Not Needed
    • None
    • None
    • None
    • None
    • None
    • None

      Currently we have number of places where SerializerFinder adopts approach similar to:

      if (IsNotKnown(node) && IsKnown(leftExpression, out var leftSerializer))
      {
          IBsonSerializer itemSerializer = leftSerializer.GetItemSerializer();
          AddNodeSerializer(node, itemSerializer);
      }
      

      The problem is in case if leftSerializer is IUnknowableSerializer, then IsKnown will return true and GetItemSerializer will throw an error, instead of deducing another IUnknowableSerializer.

            Assignee:
            Oleksandr Poliakov
            Reporter:
            Oleksandr Poliakov
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: