diff --git a/src/libraries/System.Linq/src/System.Linq.csproj b/src/libraries/System.Linq/src/System.Linq.csproj
index 2f93e584d18658..f032db1a303ee1 100644
--- a/src/libraries/System.Linq/src/System.Linq.csproj
+++ b/src/libraries/System.Linq/src/System.Linq.csproj
@@ -62,6 +62,7 @@
+
@@ -70,12 +71,10 @@
-
-
@@ -83,6 +82,7 @@
+
diff --git a/src/libraries/System.Linq/src/System/Linq/Count.cs b/src/libraries/System.Linq/src/System/Linq/Count.cs
index 6a12a11cbe163d..cd175cf6b9b3cc 100644
--- a/src/libraries/System.Linq/src/System/Linq/Count.cs
+++ b/src/libraries/System.Linq/src/System/Linq/Count.cs
@@ -20,7 +20,7 @@ public static int Count(this IEnumerable source)
return collectionoft.Count;
}
- if (!IsSizeOptimized && source is Iterator iterator)
+ if (source is Iterator iterator)
{
return iterator.GetCount(onlyIfCheap: false);
}
@@ -113,7 +113,7 @@ public static bool TryGetNonEnumeratedCount(this IEnumerable s
return true;
}
- if (!IsSizeOptimized && source is Iterator iterator)
+ if (source is Iterator iterator)
{
int c = iterator.GetCount(onlyIfCheap: true);
if (c >= 0)
diff --git a/src/libraries/System.Linq/src/System/Linq/ElementAt.cs b/src/libraries/System.Linq/src/System/Linq/ElementAt.cs
index 26c69366fa9f3b..f4dc1f23a16c80 100644
--- a/src/libraries/System.Linq/src/System/Linq/ElementAt.cs
+++ b/src/libraries/System.Linq/src/System/Linq/ElementAt.cs
@@ -23,7 +23,7 @@ public static TSource ElementAt(this IEnumerable source, int i
bool found;
TSource? element =
- !IsSizeOptimized && source is Iterator iterator ? iterator.TryGetElementAt(index, out found) :
+ source is Iterator iterator ? iterator.TryGetElementAt(index, out found) :
TryGetElementAtNonIterator(source, index, out found);
if (!found)
@@ -121,7 +121,7 @@ public static TSource ElementAt(this IEnumerable source, Index
}
return
- !IsSizeOptimized && source is Iterator iterator ? iterator.TryGetElementAt(index, out found) :
+ source is Iterator iterator ? iterator.TryGetElementAt(index, out found) :
TryGetElementAtNonIterator(source, index, out found);
}
diff --git a/src/libraries/System.Linq/src/System/Linq/Last.cs b/src/libraries/System.Linq/src/System/Linq/Last.cs
index ca48475259d8e5..c38604e397592f 100644
--- a/src/libraries/System.Linq/src/System/Linq/Last.cs
+++ b/src/libraries/System.Linq/src/System/Linq/Last.cs
@@ -69,7 +69,7 @@ public static TSource LastOrDefault(this IEnumerable source, F
}
return
- !IsSizeOptimized && source is Iterator iterator ? iterator.TryGetLast(out found) :
+ source is Iterator iterator ? iterator.TryGetLast(out found) :
TryGetLastNonIterator(source, out found);
}
diff --git a/src/libraries/System.Linq/src/System/Linq/OfType.SpeedOpt.cs b/src/libraries/System.Linq/src/System/Linq/OfType.SpeedOpt.cs
index 4420801ee4abcf..f2649e706c8a0e 100644
--- a/src/libraries/System.Linq/src/System/Linq/OfType.SpeedOpt.cs
+++ b/src/libraries/System.Linq/src/System/Linq/OfType.SpeedOpt.cs
@@ -167,7 +167,7 @@ public override IEnumerable Select(Func s
// they're covariant. It's not worthwhile checking for List to use the ListWhereSelectIterator
// because List<> is not covariant.
Func