diff options
| author | Nick Cameron <ncameron@mozilla.com> | 2014-09-11 17:07:49 +1200 |
|---|---|---|
| committer | Nick Cameron <ncameron@mozilla.com> | 2014-09-19 15:11:00 +1200 |
| commit | ce0907e46e8e1aa23ee39f69e4f628f68bfbb0d7 (patch) | |
| tree | 9ea529bfee7d62b85288d37b0e2bbcdd1c866e0d /src/libfmt_macros | |
| parent | af3889f6979647b9bd2dc5f5132d80e3e5b405a5 (diff) | |
| download | rust-ce0907e46e8e1aa23ee39f69e4f628f68bfbb0d7.tar.gz rust-ce0907e46e8e1aa23ee39f69e4f628f68bfbb0d7.zip | |
Add enum variants to the type namespace
Change to resolve and update compiler and libs for uses. [breaking-change] Enum variants are now in both the value and type namespaces. This means that if you have a variant with the same name as a type in scope in a module, you will get a name clash and thus an error. The solution is to either rename the type or the variant.
Diffstat (limited to 'src/libfmt_macros')
| -rw-r--r-- | src/libfmt_macros/lib.rs | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/src/libfmt_macros/lib.rs b/src/libfmt_macros/lib.rs index 9272369f73c..a9f34e1195c 100644 --- a/src/libfmt_macros/lib.rs +++ b/src/libfmt_macros/lib.rs @@ -23,6 +23,7 @@ use std::char; use std::str; +use std::string; /// A piece is a portion of the format string which represents the next part /// to emit. These are emitted as a stream by the `Parser` class. @@ -32,7 +33,7 @@ pub enum Piece<'a> { String(&'a str), /// This describes that formatting should process the next argument (as /// specified inside) for emission. - Argument(Argument<'a>), + NextArgument(Argument<'a>), } /// Representation of an argument specification. @@ -129,7 +130,7 @@ pub struct Parser<'a> { input: &'a str, cur: str::CharOffsets<'a>, /// Error messages accumulated during parsing - pub errors: Vec<String>, + pub errors: Vec<string::String>, } impl<'a> Iterator<Piece<'a>> for Parser<'a> { @@ -140,7 +141,7 @@ impl<'a> Iterator<Piece<'a>> for Parser<'a> { if self.consume('{') { Some(String(self.string(pos + 1))) } else { - let ret = Some(Argument(self.argument())); + let ret = Some(NextArgument(self.argument())); self.must_consume('}'); ret } @@ -469,28 +470,28 @@ mod tests { #[test] fn format_nothing() { - same("{}", [Argument(Argument { + same("{}", [NextArgument(Argument { position: ArgumentNext, format: fmtdflt(), })]); } #[test] fn format_position() { - same("{3}", [Argument(Argument { + same("{3}", [NextArgument(Argument { position: ArgumentIs(3), format: fmtdflt(), })]); } #[test] fn format_position_nothing_else() { - same("{3:}", [Argument(Argument { + same("{3:}", [NextArgument(Argument { position: ArgumentIs(3), format: fmtdflt(), })]); } #[test] fn format_type() { - same("{3:a}", [Argument(Argument { + same("{3:a}", [NextArgument(Argument { position: ArgumentIs(3), format: FormatSpec { fill: None, @@ -504,7 +505,7 @@ mod tests { } #[test] fn format_align_fill() { - same("{3:>}", [Argument(Argument { + same("{3:>}", [NextArgument(Argument { position: ArgumentIs(3), format: FormatSpec { fill: None, @@ -515,7 +516,7 @@ mod tests { ty: "", }, })]); - same("{3:0<}", [Argument(Argument { + same("{3:0<}", [NextArgument(Argument { position: ArgumentIs(3), format: FormatSpec { fill: Some('0'), @@ -526,7 +527,7 @@ mod tests { ty: "", }, })]); - same("{3:*<abcd}", [Argument(Argument { + same("{3:*<abcd}", [NextArgument(Argument { position: ArgumentIs(3), format: FormatSpec { fill: Some('*'), @@ -540,7 +541,7 @@ mod tests { } #[test] fn format_counts() { - same("{:10s}", [Argument(Argument { + same("{:10s}", [NextArgument(Argument { position: ArgumentNext, format: FormatSpec { fill: None, @@ -551,7 +552,7 @@ mod tests { ty: "s", }, })]); - same("{:10$.10s}", [Argument(Argument { + same("{:10$.10s}", [NextArgument(Argument { position: ArgumentNext, format: FormatSpec { fill: None, @@ -562,7 +563,7 @@ mod tests { ty: "s", }, })]); - same("{:.*s}", [Argument(Argument { + same("{:.*s}", [NextArgument(Argument { position: ArgumentNext, format: FormatSpec { fill: None, @@ -573,7 +574,7 @@ mod tests { ty: "s", }, })]); - same("{:.10$s}", [Argument(Argument { + same("{:.10$s}", [NextArgument(Argument { position: ArgumentNext, format: FormatSpec { fill: None, @@ -584,7 +585,7 @@ mod tests { ty: "s", }, })]); - same("{:a$.b$s}", [Argument(Argument { + same("{:a$.b$s}", [NextArgument(Argument { position: ArgumentNext, format: FormatSpec { fill: None, @@ -598,7 +599,7 @@ mod tests { } #[test] fn format_flags() { - same("{:-}", [Argument(Argument { + same("{:-}", [NextArgument(Argument { position: ArgumentNext, format: FormatSpec { fill: None, @@ -609,7 +610,7 @@ mod tests { ty: "", }, })]); - same("{:+#}", [Argument(Argument { + same("{:+#}", [NextArgument(Argument { position: ArgumentNext, format: FormatSpec { fill: None, @@ -623,7 +624,7 @@ mod tests { } #[test] fn format_mixture() { - same("abcd {3:a} efg", [String("abcd "), Argument(Argument { + same("abcd {3:a} efg", [String("abcd "), NextArgument(Argument { position: ArgumentIs(3), format: FormatSpec { fill: None, |
