@@ -251,7 +251,8 @@ where
251251/// // ...including none at all!
252252/// assert_eq!(whitespace.parse("").into_result(), Ok(()));
253253/// ```
254- pub fn whitespace < ' src , I , E > ( ) -> Repeated < impl Parser < ' src , I , ( ) , E > + Copy , ( ) , I , E >
254+ pub fn whitespace < ' src , I , E > (
255+ ) -> Repeated < impl Parser < ' src , I , ( ) , E > + Copy + Send + Sync , ( ) , I , E >
255256where
256257 I : StrInput < ' src > ,
257258 I :: Token : Char + ' src ,
@@ -287,7 +288,8 @@ where
287288/// // ... but not newlines
288289/// assert!(inline_whitespace.at_least(1).parse("\n\r").has_errors());
289290/// ```
290- pub fn inline_whitespace < ' src , I , E > ( ) -> Repeated < impl Parser < ' src , I , ( ) , E > + Copy , ( ) , I , E >
291+ pub fn inline_whitespace < ' src , I , E > (
292+ ) -> Repeated < impl Parser < ' src , I , ( ) , E > + Copy + Send + Sync , ( ) , I , E >
291293where
292294 I : StrInput < ' src > ,
293295 I :: Token : Char + ' src ,
@@ -335,7 +337,7 @@ where
335337/// assert_eq!(newline.parse("\u{2029}").into_result(), Ok(()));
336338/// ```
337339#[ must_use]
338- pub fn newline < ' src , I , E > ( ) -> impl Parser < ' src , I , ( ) , E > + Copy
340+ pub fn newline < ' src , I , E > ( ) -> impl Parser < ' src , I , ( ) , E > + Copy + Send + Sync
339341where
340342 I : StrInput < ' src > ,
341343 I :: Token : Char + ' src ,
@@ -398,7 +400,7 @@ where
398400#[ must_use]
399401pub fn digits < ' src , I , E > (
400402 radix : u32 ,
401- ) -> Repeated < impl Parser < ' src , I , <I as Input < ' src > >:: Token , E > + Copy , I :: Token , I , E >
403+ ) -> Repeated < impl Parser < ' src , I , <I as Input < ' src > >:: Token , E > + Copy + Send + Sync , I :: Token , I , E >
402404where
403405 I : StrInput < ' src > ,
404406 I :: Token : Char + ' src ,
@@ -446,10 +448,12 @@ where
446448/// ```
447449///
448450#[ must_use]
449- pub fn int < ' src , I , E > ( radix : u32 ) -> impl Parser < ' src , I , <I as SliceInput < ' src > >:: Slice , E > + Copy
451+ pub fn int < ' src , I , E > (
452+ radix : u32 ,
453+ ) -> impl Parser < ' src , I , <I as SliceInput < ' src > >:: Slice , E > + Copy + Send + Sync
450454where
451455 I : StrInput < ' src > ,
452- I :: Token : Char + ' src ,
456+ I :: Token : Char + Send + Sync + ' src ,
453457 E : ParserExtra < ' src , I > ,
454458 E :: Error :
455459 LabelError < ' src , I , TextExpected < ' src , I > > + LabelError < ' src , I , MaybeRef < ' src , I :: Token > > ,
@@ -486,7 +490,8 @@ pub mod ascii {
486490 /// An identifier is defined as an ASCII alphabetic character or an underscore followed by any number of alphanumeric
487491 /// characters or underscores. The regex pattern for it is `[a-zA-Z_][a-zA-Z0-9_]*`.
488492 #[ must_use]
489- pub fn ident < ' src , I , E > ( ) -> impl Parser < ' src , I , <I as SliceInput < ' src > >:: Slice , E > + Copy
493+ pub fn ident < ' src , I , E > (
494+ ) -> impl Parser < ' src , I , <I as SliceInput < ' src > >:: Slice , E > + Copy + Send + Sync
490495 where
491496 I : StrInput < ' src > ,
492497 I :: Token : Char + ' src ,
@@ -539,12 +544,12 @@ pub mod ascii {
539544 #[ track_caller]
540545 pub fn keyword < ' src , I , S , E > (
541546 keyword : S ,
542- ) -> impl Parser < ' src , I , <I as SliceInput < ' src > >:: Slice , E > + Clone + ' src
547+ ) -> impl Parser < ' src , I , <I as SliceInput < ' src > >:: Slice , E > + Clone + Send + Sync + ' src
543548 where
544549 I : StrInput < ' src > ,
545550 I :: Slice : PartialEq ,
546551 I :: Token : Char + fmt:: Debug + ' src ,
547- S : PartialEq < I :: Slice > + Clone + ' src ,
552+ S : PartialEq < I :: Slice > + Clone + Send + Sync + ' src ,
548553 E : ParserExtra < ' src , I > + ' src ,
549554 E :: Error : LabelError < ' src , I , TextExpected < ' src , I > > + LabelError < ' src , I , S > ,
550555 {
@@ -981,7 +986,8 @@ pub mod unicode {
981986 ///
982987 /// An identifier is defined as per "Default Identifiers" in [Unicode Standard Annex #31](https://www.unicode.org/reports/tr31/).
983988 #[ must_use]
984- pub fn ident < ' src , I , E > ( ) -> impl Parser < ' src , I , <I as SliceInput < ' src > >:: Slice , E > + Copy
989+ pub fn ident < ' src , I , E > (
990+ ) -> impl Parser < ' src , I , <I as SliceInput < ' src > >:: Slice , E > + Copy + Send + Sync
985991 where
986992 I : StrInput < ' src > ,
987993 I :: Token : Char + ' src ,
@@ -1028,12 +1034,12 @@ pub mod unicode {
10281034 #[ track_caller]
10291035 pub fn keyword < ' src , I , S , E > (
10301036 keyword : S ,
1031- ) -> impl Parser < ' src , I , <I as SliceInput < ' src > >:: Slice , E > + Clone + ' src
1037+ ) -> impl Parser < ' src , I , <I as SliceInput < ' src > >:: Slice , E > + Clone + Send + Sync + ' src
10321038 where
10331039 I : StrInput < ' src > ,
10341040 I :: Slice : PartialEq ,
10351041 I :: Token : Char + fmt:: Debug + ' src ,
1036- S : PartialEq < I :: Slice > + Clone + ' src ,
1042+ S : PartialEq < I :: Slice > + Clone + Send + Sync + ' src ,
10371043 E : ParserExtra < ' src , I > + ' src ,
10381044 E :: Error : LabelError < ' src , I , TextExpected < ' src , I > > + LabelError < ' src , I , S > ,
10391045 {
0 commit comments