@@ -98,29 +98,28 @@ private static IAsyncEnumerable<TSource> DistinctUntilChangedCore<TSource>(IAsyn
9898
9999            async  IAsyncEnumerator < TSource >  Core ( CancellationToken  cancellationToken ) 
100100            { 
101-                 await  using  ( var  e  =  source . GetConfiguredAsyncEnumerator ( cancellationToken ,  false ) ) 
101+                 await  using  var  e  =  source . GetConfiguredAsyncEnumerator ( cancellationToken ,  false ) ; 
102+ 
103+                 if  ( ! await  e . MoveNextAsync ( ) ) 
102104                { 
103-                     if  ( ! await  e . MoveNextAsync ( ) ) 
104-                     { 
105-                         yield  break ; 
106-                     } 
105+                     yield  break ; 
106+                 } 
107107
108-                      var  latest  =  e . Current ; 
108+                 var  latest  =  e . Current ; 
109109
110-                      yield  return  latest ; 
110+                 yield  return  latest ; 
111111
112-                      while  ( await  e . MoveNextAsync ( ) ) 
113-                      { 
114-                          var  item  =  e . Current ; 
112+                 while  ( await  e . MoveNextAsync ( ) ) 
113+                 { 
114+                     var  item  =  e . Current ; 
115115
116-                          // REVIEW: Need comparer!.Equals to satisfy nullable reference type warnings. 
116+                     // REVIEW: Need comparer!.Equals to satisfy nullable reference type warnings. 
117117
118-                          if  ( ! comparer ! . Equals ( latest ,  item ) ) 
119-                          { 
120-                              latest  =  item ; 
118+                     if  ( ! comparer ! . Equals ( latest ,  item ) ) 
119+                     { 
120+                         latest  =  item ; 
121121
122-                             yield  return  latest ; 
123-                         } 
122+                         yield  return  latest ; 
124123                    } 
125124                } 
126125            } 
@@ -134,33 +133,32 @@ private static IAsyncEnumerable<TSource> DistinctUntilChangedCore<TSource, TKey>
134133
135134            async  IAsyncEnumerator < TSource >  Core ( CancellationToken  cancellationToken ) 
136135            { 
137-                 await  using  ( var  e  =  source . GetConfiguredAsyncEnumerator ( cancellationToken ,  false ) ) 
136+                 await  using  var  e  =  source . GetConfiguredAsyncEnumerator ( cancellationToken ,  false ) ; 
137+ 
138+                 if  ( ! await  e . MoveNextAsync ( ) ) 
138139                { 
139-                     if  ( ! await  e . MoveNextAsync ( ) ) 
140-                     { 
141-                         yield  break ; 
142-                     } 
140+                     yield  break ; 
141+                 } 
143142
144-                      var  item  =  e . Current ; 
143+                 var  item  =  e . Current ; 
145144
146-                      var  latestKey  =  keySelector ( item ) ; 
145+                 var  latestKey  =  keySelector ( item ) ; 
147146
148-                      yield  return  item ; 
147+                 yield  return  item ; 
149148
150-                      while  ( await  e . MoveNextAsync ( ) ) 
151-                      { 
152-                          item  =  e . Current ; 
149+                 while  ( await  e . MoveNextAsync ( ) ) 
150+                 { 
151+                     item  =  e . Current ; 
153152
154-                          var  currentKey  =  keySelector ( item ) ; 
153+                     var  currentKey  =  keySelector ( item ) ; 
155154
156-                          // REVIEW: Need comparer!.Equals to satisfy nullable reference type warnings. 
155+                     // REVIEW: Need comparer!.Equals to satisfy nullable reference type warnings. 
157156
158-                          if  ( ! comparer ! . Equals ( latestKey ,  currentKey ) ) 
159-                          { 
160-                              latestKey  =  currentKey ; 
157+                     if  ( ! comparer ! . Equals ( latestKey ,  currentKey ) ) 
158+                     { 
159+                         latestKey  =  currentKey ; 
161160
162-                             yield  return  item ; 
163-                         } 
161+                         yield  return  item ; 
164162                    } 
165163                } 
166164            } 
@@ -174,33 +172,32 @@ private static IAsyncEnumerable<TSource> DistinctUntilChangedCore<TSource, TKey>
174172
175173            async  IAsyncEnumerator < TSource >  Core ( CancellationToken  cancellationToken ) 
176174            { 
177-                 await  using  ( var  e  =  source . GetConfiguredAsyncEnumerator ( cancellationToken ,  false ) ) 
175+                 await  using  var  e  =  source . GetConfiguredAsyncEnumerator ( cancellationToken ,  false ) ; 
176+ 
177+                 if  ( ! await  e . MoveNextAsync ( ) ) 
178178                { 
179-                     if  ( ! await  e . MoveNextAsync ( ) ) 
180-                     { 
181-                         yield  break ; 
182-                     } 
179+                     yield  break ; 
180+                 } 
183181
184-                      var  item  =  e . Current ; 
182+                 var  item  =  e . Current ; 
185183
186-                      var  latestKey  =  await  keySelector ( item ) . ConfigureAwait ( false ) ; 
184+                 var  latestKey  =  await  keySelector ( item ) . ConfigureAwait ( false ) ; 
187185
188-                      yield  return  item ; 
186+                 yield  return  item ; 
189187
190-                      while  ( await  e . MoveNextAsync ( ) ) 
191-                      { 
192-                          item  =  e . Current ; 
188+                 while  ( await  e . MoveNextAsync ( ) ) 
189+                 { 
190+                     item  =  e . Current ; 
193191
194-                          var  currentKey  =  await  keySelector ( item ) . ConfigureAwait ( false ) ; 
192+                     var  currentKey  =  await  keySelector ( item ) . ConfigureAwait ( false ) ; 
195193
196-                          // REVIEW: Need comparer!.Equals to satisfy nullable reference type warnings. 
194+                     // REVIEW: Need comparer!.Equals to satisfy nullable reference type warnings. 
197195
198-                          if  ( ! comparer ! . Equals ( latestKey ,  currentKey ) ) 
199-                          { 
200-                              latestKey  =  currentKey ; 
196+                     if  ( ! comparer ! . Equals ( latestKey ,  currentKey ) ) 
197+                     { 
198+                         latestKey  =  currentKey ; 
201199
202-                             yield  return  item ; 
203-                         } 
200+                         yield  return  item ; 
204201                    } 
205202                } 
206203            } 
@@ -215,33 +212,32 @@ private static IAsyncEnumerable<TSource> DistinctUntilChangedCore<TSource, TKey>
215212
216213            async  IAsyncEnumerator < TSource >  Core ( CancellationToken  cancellationToken ) 
217214            { 
218-                 await  using  ( var  e  =  source . GetConfiguredAsyncEnumerator ( cancellationToken ,  false ) ) 
215+                 await  using  var  e  =  source . GetConfiguredAsyncEnumerator ( cancellationToken ,  false ) ; 
216+ 
217+                 if  ( ! await  e . MoveNextAsync ( ) ) 
219218                { 
220-                     if  ( ! await  e . MoveNextAsync ( ) ) 
221-                     { 
222-                         yield  break ; 
223-                     } 
219+                     yield  break ; 
220+                 } 
224221
225-                      var  item  =  e . Current ; 
222+                 var  item  =  e . Current ; 
226223
227-                      var  latestKey  =  await  keySelector ( item ,  cancellationToken ) . ConfigureAwait ( false ) ; 
224+                 var  latestKey  =  await  keySelector ( item ,  cancellationToken ) . ConfigureAwait ( false ) ; 
228225
229-                      yield  return  item ; 
226+                 yield  return  item ; 
230227
231-                      while  ( await  e . MoveNextAsync ( ) ) 
232-                      { 
233-                          item  =  e . Current ; 
228+                 while  ( await  e . MoveNextAsync ( ) ) 
229+                 { 
230+                     item  =  e . Current ; 
234231
235-                          var  currentKey  =  await  keySelector ( item ,  cancellationToken ) . ConfigureAwait ( false ) ; 
232+                     var  currentKey  =  await  keySelector ( item ,  cancellationToken ) . ConfigureAwait ( false ) ; 
236233
237-                          // REVIEW: Need comparer!.Equals to satisfy nullable reference type warnings. 
234+                     // REVIEW: Need comparer!.Equals to satisfy nullable reference type warnings. 
238235
239-                          if  ( ! comparer ! . Equals ( latestKey ,  currentKey ) ) 
240-                          { 
241-                              latestKey  =  currentKey ; 
236+                     if  ( ! comparer ! . Equals ( latestKey ,  currentKey ) ) 
237+                     { 
238+                         latestKey  =  currentKey ; 
242239
243-                             yield  return  item ; 
244-                         } 
240+                         yield  return  item ; 
245241                    } 
246242                } 
247243            } 
0 commit comments