Allow trailing plus sign in supertrait list
diff --git a/src/item.rs b/src/item.rs
index b061179..c0b9325 100644
--- a/src/item.rs
+++ b/src/item.rs
@@ -1441,11 +1441,15 @@
 
             let mut supertraits = Punctuated::new();
             if colon_token.is_some() {
-                while !input.peek(Token![where]) && !input.peek(token::Brace) {
-                    if !supertraits.is_empty() {
-                        supertraits.push_punct(input.parse()?);
-                    }
+                loop {
                     supertraits.push_value(input.parse()?);
+                    if input.peek(Token![where]) || input.peek(token::Brace) {
+                        break;
+                    }
+                    supertraits.push_punct(input.parse()?);
+                    if input.peek(Token![where]) || input.peek(token::Brace) {
+                        break;
+                    }
                 }
             }