@@ -217,10 +217,13 @@ impl<P: Page> ItemIterator<P> {
217217    /// Creates a [`ItemIterator<P>`] from a raw stream of [`Result<P>`](typespec::Result<P>) values. 
218218     /// 
219219     /// This constructor is used when you are implementing a completely custom stream and want to use it as a pager. 
220-      pub  fn  from_stream < S > ( stream :  S )  -> Self 
221-     where 
222-         S :  Stream < Item  = Result < P ,  Error > >  + Send  + ' static , 
223-     { 
220+      pub  fn  from_stream < 
221+         // This is a bit gnarly, but the only thing that differs between the WASM/non-WASM configs is the presence of Send bounds. 
222+         #[ cfg( not( target_arch = "wasm32" ) ) ]   S :  Stream < Item  = Result < P ,  Error > >  + Send  + ' static , 
223+         #[ cfg( target_arch = "wasm32" ) ]   S :  Stream < Item  = Result < P ,  Error > >  + ' static , 
224+     > ( 
225+         stream :  S , 
226+     )  -> Self  { 
224227        Self  { 
225228            stream :  Box :: pin ( stream) , 
226229            current :  None , 
@@ -396,10 +399,13 @@ impl<P> PageIterator<P> {
396399    /// Creates a [`PageIterator<P>`] from a raw stream of [`Result<P>`](typespec::Result<P>) values. 
397400     /// 
398401     /// This constructor is used when you are implementing a completely custom stream and want to use it as a pager. 
399-      pub  fn  from_stream < S > ( stream :  S )  -> Self 
400-     where 
401-         S :  Stream < Item  = Result < P ,  Error > >  + Send  + ' static , 
402-     { 
402+      pub  fn  from_stream < 
403+         // This is a bit gnarly, but the only thing that differs between the WASM/non-WASM configs is the presence of Send bounds. 
404+         #[ cfg( not( target_arch = "wasm32" ) ) ]   S :  Stream < Item  = Result < P ,  Error > >  + Send  + ' static , 
405+         #[ cfg( target_arch = "wasm32" ) ]   S :  Stream < Item  = Result < P ,  Error > >  + ' static , 
406+     > ( 
407+         stream :  S , 
408+     )  -> Self  { 
403409        Self  { 
404410            stream :  Box :: pin ( stream) , 
405411        } 
0 commit comments