Loading third_party/rust/quote/.cargo-checksum.json +1 −1 Original line number Diff line number Diff line {"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","Cargo.toml":"9e488340fc68d310f52d8b7d68fc305e0a8b76261d450f34b1ecb9772d42617a","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"c9a75f18b9ab2927829a208fc6aa2cf4e63b8420887ba29cdb265d6619ae82d5","README.md":"3390fa1362c73052a268ae97a4777c5bcd8e991f866f9cce88ddde8d0963fd4d","src/ident.rs":"830077b64dce8c8ede1fb6ab664cae72f5496f4ab6be21a5b4e3b5e4e57ec425","src/lib.rs":"f799c898057a4e8e1620b32c70e13d3fee7af3a0352a5a4a1da6393942d21cc7","src/to_tokens.rs":"a871cb84506fa9e0783ac29617d686327ce5d05a9711a3a10833430b00345ccc","src/tokens.rs":"ecf42295d45982ba63c9eb51dd1b3abb5498e14a880c607fd11cf78e51f99035","tests/test.rs":"823f836751f89d98ddee52c99194ab9d686583b365328425f56831c480e8a21b"},"package":"7375cf7ad34a92e8fd18dd9c42f58b9a11def59ab48bec955bf359a788335592"} No newline at end of file {"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","Cargo.toml":"983b4a016a497eded8adc6a23963343693ab4520826a1bc916e6f8448c9bb309","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"c9a75f18b9ab2927829a208fc6aa2cf4e63b8420887ba29cdb265d6619ae82d5","README.md":"3390fa1362c73052a268ae97a4777c5bcd8e991f866f9cce88ddde8d0963fd4d","src/ident.rs":"830077b64dce8c8ede1fb6ab664cae72f5496f4ab6be21a5b4e3b5e4e57ec425","src/lib.rs":"f799c898057a4e8e1620b32c70e13d3fee7af3a0352a5a4a1da6393942d21cc7","src/to_tokens.rs":"a871cb84506fa9e0783ac29617d686327ce5d05a9711a3a10833430b00345ccc","src/tokens.rs":"9a6010d7c0c6ccbe8b7bb1dae99722c91fc0559ea6ac6ea03ab2baafc2ec77ae","tests/test.rs":"8951d46b62d6922cc5fc130759be9723a862947738dda25cc84ff8cfdfebf729"},"package":"7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a"} No newline at end of file third_party/rust/quote/Cargo.toml +1 −1 Original line number Diff line number Diff line [package] name = "quote" version = "0.3.14" # don't forget to update version in readme for breaking changes version = "0.3.15" # don't forget to update version in readme for breaking changes authors = ["David Tolnay <dtolnay@gmail.com>"] license = "MIT/Apache-2.0" description = "Quasi-quoting macro quote!(...)" Loading third_party/rust/quote/src/tokens.rs +17 −15 Original line number Diff line number Diff line Loading @@ -28,16 +28,15 @@ impl Tokens { /// } /// } /// /// let x = X; /// let tokens = quote!(#x); /// let tokens = quote!(#X); /// assert_eq!(tokens.as_str(), "a b c"); /// # } /// ``` pub fn append(&mut self, token: &str) { if !self.0.is_empty() && !token.is_empty() { pub fn append<T: AsRef<str>>(&mut self, token: T) { if !self.0.is_empty() && !token.as_ref().is_empty() { self.0.push(' '); } self.0.push_str(token); self.0.push_str(token.as_ref()); } /// For use by `ToTokens` implementations. Loading @@ -54,8 +53,7 @@ impl Tokens { /// } /// } /// /// let x = X; /// let tokens = quote!(#x); /// let tokens = quote!(#X); /// assert_eq!(tokens.as_str(), "true false"); /// # } /// ``` Loading @@ -82,18 +80,17 @@ impl Tokens { /// } /// } /// /// let x = X; /// let tokens = quote!(#x); /// let tokens = quote!(#X); /// assert_eq!(tokens.as_str(), "true , false"); /// # } /// ``` pub fn append_separated<T, I>(&mut self, iter: I, sep: &str) pub fn append_separated<T, I, S: AsRef<str>>(&mut self, iter: I, sep: S) where T: ToTokens, I: IntoIterator<Item = T> { for (i, token) in iter.into_iter().enumerate() { if i > 0 { self.append(sep); self.append(sep.as_ref()); } token.to_tokens(self); } Loading @@ -113,18 +110,17 @@ impl Tokens { /// } /// } /// /// let x = X; /// let tokens = quote!(#x); /// let tokens = quote!(#X); /// assert_eq!(tokens.as_str(), "true , false ,"); /// # } /// ``` pub fn append_terminated<T, I>(&mut self, iter: I, term: &str) pub fn append_terminated<T, I, S: AsRef<str>>(&mut self, iter: I, term: S) where T: ToTokens, I: IntoIterator<Item = T> { for token in iter { token.to_tokens(self); self.append(term); self.append(term.as_ref()); } } Loading Loading @@ -152,3 +148,9 @@ impl Display for Tokens { self.0.fmt(formatter) } } impl AsRef<str> for Tokens { fn as_ref(&self) -> &str { &self.0 } } third_party/rust/quote/tests/test.rs +10 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,16 @@ fn test_quote_impl() { assert_eq!(expected, tokens.as_str()); } #[test] fn test_append_tokens() { let mut tokens = quote!(let x =); tokens.append(quote!("Hello World!";)); let expected = "let x = \"Hello World!\" ;"; assert_eq!(expected, tokens.as_str()); } #[test] fn test_substitution() { let x = X; Loading Loading
third_party/rust/quote/.cargo-checksum.json +1 −1 Original line number Diff line number Diff line {"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","Cargo.toml":"9e488340fc68d310f52d8b7d68fc305e0a8b76261d450f34b1ecb9772d42617a","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"c9a75f18b9ab2927829a208fc6aa2cf4e63b8420887ba29cdb265d6619ae82d5","README.md":"3390fa1362c73052a268ae97a4777c5bcd8e991f866f9cce88ddde8d0963fd4d","src/ident.rs":"830077b64dce8c8ede1fb6ab664cae72f5496f4ab6be21a5b4e3b5e4e57ec425","src/lib.rs":"f799c898057a4e8e1620b32c70e13d3fee7af3a0352a5a4a1da6393942d21cc7","src/to_tokens.rs":"a871cb84506fa9e0783ac29617d686327ce5d05a9711a3a10833430b00345ccc","src/tokens.rs":"ecf42295d45982ba63c9eb51dd1b3abb5498e14a880c607fd11cf78e51f99035","tests/test.rs":"823f836751f89d98ddee52c99194ab9d686583b365328425f56831c480e8a21b"},"package":"7375cf7ad34a92e8fd18dd9c42f58b9a11def59ab48bec955bf359a788335592"} No newline at end of file {"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","Cargo.toml":"983b4a016a497eded8adc6a23963343693ab4520826a1bc916e6f8448c9bb309","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"c9a75f18b9ab2927829a208fc6aa2cf4e63b8420887ba29cdb265d6619ae82d5","README.md":"3390fa1362c73052a268ae97a4777c5bcd8e991f866f9cce88ddde8d0963fd4d","src/ident.rs":"830077b64dce8c8ede1fb6ab664cae72f5496f4ab6be21a5b4e3b5e4e57ec425","src/lib.rs":"f799c898057a4e8e1620b32c70e13d3fee7af3a0352a5a4a1da6393942d21cc7","src/to_tokens.rs":"a871cb84506fa9e0783ac29617d686327ce5d05a9711a3a10833430b00345ccc","src/tokens.rs":"9a6010d7c0c6ccbe8b7bb1dae99722c91fc0559ea6ac6ea03ab2baafc2ec77ae","tests/test.rs":"8951d46b62d6922cc5fc130759be9723a862947738dda25cc84ff8cfdfebf729"},"package":"7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a"} No newline at end of file
third_party/rust/quote/Cargo.toml +1 −1 Original line number Diff line number Diff line [package] name = "quote" version = "0.3.14" # don't forget to update version in readme for breaking changes version = "0.3.15" # don't forget to update version in readme for breaking changes authors = ["David Tolnay <dtolnay@gmail.com>"] license = "MIT/Apache-2.0" description = "Quasi-quoting macro quote!(...)" Loading
third_party/rust/quote/src/tokens.rs +17 −15 Original line number Diff line number Diff line Loading @@ -28,16 +28,15 @@ impl Tokens { /// } /// } /// /// let x = X; /// let tokens = quote!(#x); /// let tokens = quote!(#X); /// assert_eq!(tokens.as_str(), "a b c"); /// # } /// ``` pub fn append(&mut self, token: &str) { if !self.0.is_empty() && !token.is_empty() { pub fn append<T: AsRef<str>>(&mut self, token: T) { if !self.0.is_empty() && !token.as_ref().is_empty() { self.0.push(' '); } self.0.push_str(token); self.0.push_str(token.as_ref()); } /// For use by `ToTokens` implementations. Loading @@ -54,8 +53,7 @@ impl Tokens { /// } /// } /// /// let x = X; /// let tokens = quote!(#x); /// let tokens = quote!(#X); /// assert_eq!(tokens.as_str(), "true false"); /// # } /// ``` Loading @@ -82,18 +80,17 @@ impl Tokens { /// } /// } /// /// let x = X; /// let tokens = quote!(#x); /// let tokens = quote!(#X); /// assert_eq!(tokens.as_str(), "true , false"); /// # } /// ``` pub fn append_separated<T, I>(&mut self, iter: I, sep: &str) pub fn append_separated<T, I, S: AsRef<str>>(&mut self, iter: I, sep: S) where T: ToTokens, I: IntoIterator<Item = T> { for (i, token) in iter.into_iter().enumerate() { if i > 0 { self.append(sep); self.append(sep.as_ref()); } token.to_tokens(self); } Loading @@ -113,18 +110,17 @@ impl Tokens { /// } /// } /// /// let x = X; /// let tokens = quote!(#x); /// let tokens = quote!(#X); /// assert_eq!(tokens.as_str(), "true , false ,"); /// # } /// ``` pub fn append_terminated<T, I>(&mut self, iter: I, term: &str) pub fn append_terminated<T, I, S: AsRef<str>>(&mut self, iter: I, term: S) where T: ToTokens, I: IntoIterator<Item = T> { for token in iter { token.to_tokens(self); self.append(term); self.append(term.as_ref()); } } Loading Loading @@ -152,3 +148,9 @@ impl Display for Tokens { self.0.fmt(formatter) } } impl AsRef<str> for Tokens { fn as_ref(&self) -> &str { &self.0 } }
third_party/rust/quote/tests/test.rs +10 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,16 @@ fn test_quote_impl() { assert_eq!(expected, tokens.as_str()); } #[test] fn test_append_tokens() { let mut tokens = quote!(let x =); tokens.append(quote!("Hello World!";)); let expected = "let x = \"Hello World!\" ;"; assert_eq!(expected, tokens.as_str()); } #[test] fn test_substitution() { let x = X; Loading