diff options
| author | Brian Anderson <banderson@mozilla.com> | 2012-09-10 18:56:07 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2012-09-11 15:29:37 -0700 |
| commit | 1203da3b9ddbf6af343fdb826b899b55a7bda053 (patch) | |
| tree | 6b49a9b89d8ba29d2aeca115faecef7c321ad30d /src | |
| parent | 3aa5b0cb4403e0a61a11455ac615108b67e45ccd (diff) | |
Remove priv sections from classes. Obsolete the syntax
Diffstat (limited to 'src')
29 files changed, 64 insertions, 102 deletions
diff --git a/src/libsyntax/parse/obsolete.rs b/src/libsyntax/parse/obsolete.rs index 9a2b6474b19..724c824d5cd 100644 --- a/src/libsyntax/parse/obsolete.rs +++ b/src/libsyntax/parse/obsolete.rs @@ -20,7 +20,8 @@ pub enum ObsoleteSyntax { ObsoleteStructCtor, ObsoleteWith, ObsoleteClassMethod, - ObsoleteClassTraits + ObsoleteClassTraits, + ObsoletePrivSection } impl ObsoleteSyntax : cmp::Eq { @@ -82,6 +83,11 @@ impl parser : ObsoleteReporter { "implemented traits are specified on the impl, as in \ `impl foo : bar {`" ), + ObsoletePrivSection => ( + "private section", + "the `priv` keyword is applied to individual items, methods, \ + and fields" + ), }; self.report(sp, kind, kind_str, desc); @@ -152,5 +158,19 @@ impl parser : ObsoleteReporter { } } + fn try_parse_obsolete_priv_section() -> bool { + if self.is_keyword(~"priv") && self.look_ahead(1) == token::LBRACE { + self.obsolete(copy self.span, ObsoletePrivSection); + self.eat_keyword(~"priv"); + self.bump(); + while self.token != token::RBRACE { + self.parse_single_class_item(ast::private); + } + self.bump(); + true + } else { + false + } + } } diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 74370d005ce..0b326c14158 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -2818,22 +2818,13 @@ impl parser { } fn parse_class_item() -> class_contents { + + if self.try_parse_obsolete_priv_section() { + return members(~[]); + } + if self.eat_keyword(~"priv") { - // XXX: Remove after snapshot. - match self.token { - token::LBRACE => { - self.bump(); - let mut results = ~[]; - while self.token != token::RBRACE { - vec::push(results, - self.parse_single_class_item(private)); - } - self.bump(); - return members(results); - } - _ => - return members(~[self.parse_single_class_item(private)]) - } + return members(~[self.parse_single_class_item(private)]) } if self.eat_keyword(~"pub") { diff --git a/src/test/auxiliary/cci_class.rs b/src/test/auxiliary/cci_class.rs index d6700f79600..b08f8def5ad 100644 --- a/src/test/auxiliary/cci_class.rs +++ b/src/test/auxiliary/cci_class.rs @@ -1,9 +1,7 @@ mod kitties { struct cat { - priv { - mut meows : uint, - } + priv mut meows : uint, how_hungry : int, diff --git a/src/test/auxiliary/cci_class_2.rs b/src/test/auxiliary/cci_class_2.rs index 30b57e5fbff..bfbf58ddd11 100644 --- a/src/test/auxiliary/cci_class_2.rs +++ b/src/test/auxiliary/cci_class_2.rs @@ -1,9 +1,7 @@ mod kitties { struct cat { - priv { - mut meows : uint, - } + priv mut meows : uint, how_hungry : int, diff --git a/src/test/auxiliary/cci_class_3.rs b/src/test/auxiliary/cci_class_3.rs index 53f1a356894..a16c6b4c3a9 100644 --- a/src/test/auxiliary/cci_class_3.rs +++ b/src/test/auxiliary/cci_class_3.rs @@ -1,9 +1,7 @@ mod kitties { struct cat { - priv { - mut meows : uint, - } + priv mut meows : uint, how_hungry : int, } diff --git a/src/test/auxiliary/cci_class_4.rs b/src/test/auxiliary/cci_class_4.rs index 585fc09e320..32da73d14e4 100644 --- a/src/test/auxiliary/cci_class_4.rs +++ b/src/test/auxiliary/cci_class_4.rs @@ -1,9 +1,7 @@ mod kitties { struct cat { - priv { - mut meows : uint, - } + priv mut meows : uint, mut how_hungry : int, name : ~str, diff --git a/src/test/auxiliary/cci_class_6.rs b/src/test/auxiliary/cci_class_6.rs index 272c381c73d..0d41bccfd33 100644 --- a/src/test/auxiliary/cci_class_6.rs +++ b/src/test/auxiliary/cci_class_6.rs @@ -1,10 +1,8 @@ mod kitties { struct cat<U> { - priv { - mut info : ~[U], - mut meows : uint, - } + priv mut info : ~[U], + priv mut meows : uint, how_hungry : int, } diff --git a/src/test/auxiliary/cci_class_cast.rs b/src/test/auxiliary/cci_class_cast.rs index 56cf40fd968..2471c9f4ccf 100644 --- a/src/test/auxiliary/cci_class_cast.rs +++ b/src/test/auxiliary/cci_class_cast.rs @@ -4,10 +4,7 @@ use to_str::ToStr; mod kitty { struct cat { - priv { - mut meows : uint, - } - + priv mut meows : uint, mut how_hungry : int, name : ~str, } diff --git a/src/test/compile-fail/assign-to-method.rs b/src/test/compile-fail/assign-to-method.rs index 4d63180a843..fd578ff5c4f 100644 --- a/src/test/compile-fail/assign-to-method.rs +++ b/src/test/compile-fail/assign-to-method.rs @@ -1,7 +1,5 @@ struct cat { - priv { - mut meows : uint - } + priv mut meows : uint, how_hungry : int, } diff --git a/src/test/compile-fail/class-cast-to-trait.rs b/src/test/compile-fail/class-cast-to-trait.rs index 58c0bfab799..5292e301ac0 100644 --- a/src/test/compile-fail/class-cast-to-trait.rs +++ b/src/test/compile-fail/class-cast-to-trait.rs @@ -4,9 +4,7 @@ trait noisy { } struct cat { - priv { - mut meows : uint, - } + priv mut meows : uint, mut how_hungry : int, name : str, diff --git a/src/test/compile-fail/class-missing-self.rs b/src/test/compile-fail/class-missing-self.rs index 48a8c7a56b9..50c9ea99e0c 100644 --- a/src/test/compile-fail/class-missing-self.rs +++ b/src/test/compile-fail/class-missing-self.rs @@ -1,7 +1,5 @@ struct cat { - priv { - mut meows : uint, - } + priv mut meows : uint, } priv impl cat { diff --git a/src/test/compile-fail/mutable-class-fields-2.rs b/src/test/compile-fail/mutable-class-fields-2.rs index 68eaffc7f70..ed6c2f268f4 100644 --- a/src/test/compile-fail/mutable-class-fields-2.rs +++ b/src/test/compile-fail/mutable-class-fields-2.rs @@ -1,8 +1,6 @@ // error-pattern:assigning to immutable field struct cat { - priv { - mut meows : uint, - } + priv mut meows : uint, how_hungry : int, } diff --git a/src/test/compile-fail/mutable-class-fields.rs b/src/test/compile-fail/mutable-class-fields.rs index a78ad6aa23b..4d1bb669efc 100644 --- a/src/test/compile-fail/mutable-class-fields.rs +++ b/src/test/compile-fail/mutable-class-fields.rs @@ -1,8 +1,6 @@ // error-pattern:assigning to immutable field struct cat { - priv { - mut meows : uint, - } + priv mut meows : uint, how_hungry : int, diff --git a/src/test/compile-fail/obsolete-syntax.rs b/src/test/compile-fail/obsolete-syntax.rs index 9a3939692f5..9f57e08cdb2 100644 --- a/src/test/compile-fail/obsolete-syntax.rs +++ b/src/test/compile-fail/obsolete-syntax.rs @@ -31,6 +31,13 @@ struct q : r { //~^ ERROR obsolete syntax: class traits } +struct sss { + priv { + //~^ ERROR obsolete syntax: private section + foo: () + } +} + fn obsolete_with() { struct S { foo: (), diff --git a/src/test/compile-fail/private-method.rs b/src/test/compile-fail/private-method.rs index d9f070fb5bd..0f489a7dc76 100644 --- a/src/test/compile-fail/private-method.rs +++ b/src/test/compile-fail/private-method.rs @@ -2,9 +2,7 @@ mod kitties { struct cat { - priv { - mut meows : uint, - } + priv mut meows : uint, how_hungry : int, diff --git a/src/test/run-pass/class-cast-to-trait-multiple-types.rs b/src/test/run-pass/class-cast-to-trait-multiple-types.rs index f2e35c4cd55..f0581c2df8c 100644 --- a/src/test/run-pass/class-cast-to-trait-multiple-types.rs +++ b/src/test/run-pass/class-cast-to-trait-multiple-types.rs @@ -3,9 +3,7 @@ trait noisy { } struct dog { - priv { - barks : @mut uint, - } + priv barks : @mut uint, volume : @mut int, } @@ -37,9 +35,7 @@ fn dog() -> dog { } struct cat { - priv { - meows : @mut uint, - } + priv meows : @mut uint, how_hungry : @mut int, name : ~str, diff --git a/src/test/run-pass/class-cast-to-trait.rs b/src/test/run-pass/class-cast-to-trait.rs index 422dd6142f0..eda5340aeed 100644 --- a/src/test/run-pass/class-cast-to-trait.rs +++ b/src/test/run-pass/class-cast-to-trait.rs @@ -3,10 +3,7 @@ trait noisy { } struct cat { - priv { - mut meows : uint, - } - + priv mut meows : uint, mut how_hungry : int, name : ~str, } diff --git a/src/test/run-pass/class-impl-very-parameterized-trait.rs b/src/test/run-pass/class-impl-very-parameterized-trait.rs index b4d47f86e1a..70d0d8f3b3f 100644 --- a/src/test/run-pass/class-impl-very-parameterized-trait.rs +++ b/src/test/run-pass/class-impl-very-parameterized-trait.rs @@ -15,10 +15,8 @@ impl cat_type : cmp::Eq { // ok: T should be in scope when resolving the trait ref for map struct cat<T: Copy> { - priv { - // Yes, you can have negative meows - mut meows : int, - } + // Yes, you can have negative meows + priv mut meows : int, mut how_hungry : int, name : T, diff --git a/src/test/run-pass/class-implement-trait-cross-crate.rs b/src/test/run-pass/class-implement-trait-cross-crate.rs index a1c2b420c46..7be0a197d46 100644 --- a/src/test/run-pass/class-implement-trait-cross-crate.rs +++ b/src/test/run-pass/class-implement-trait-cross-crate.rs @@ -4,9 +4,7 @@ use cci_class_trait; use cci_class_trait::animals::*; struct cat { - priv { - mut meows : uint, - } + priv mut meows : uint, mut how_hungry : int, name : ~str, diff --git a/src/test/run-pass/class-implement-traits.rs b/src/test/run-pass/class-implement-traits.rs index e31501d02f5..aa8e52e3351 100644 --- a/src/test/run-pass/class-implement-traits.rs +++ b/src/test/run-pass/class-implement-traits.rs @@ -3,9 +3,7 @@ trait noisy { } struct cat { - priv { - mut meows : uint, - } + priv mut meows : uint, mut how_hungry : int, name : ~str, diff --git a/src/test/run-pass/class-methods.rs b/src/test/run-pass/class-methods.rs index d5cee133097..732e01a7c57 100644 --- a/src/test/run-pass/class-methods.rs +++ b/src/test/run-pass/class-methods.rs @@ -1,7 +1,5 @@ struct cat { - priv { - mut meows : uint, - } + priv mut meows : uint, how_hungry : int, } diff --git a/src/test/run-pass/class-poly-methods.rs b/src/test/run-pass/class-poly-methods.rs index 0f07b36e6c1..7b38d0e03f9 100644 --- a/src/test/run-pass/class-poly-methods.rs +++ b/src/test/run-pass/class-poly-methods.rs @@ -1,8 +1,6 @@ struct cat<U> { - priv { - mut info : ~[U], - mut meows : uint, - } + priv mut info : ~[U], + priv mut meows : uint, how_hungry : int, } diff --git a/src/test/run-pass/class-separate-impl.rs b/src/test/run-pass/class-separate-impl.rs index 47fd98b49a8..c7517ab1b3d 100644 --- a/src/test/run-pass/class-separate-impl.rs +++ b/src/test/run-pass/class-separate-impl.rs @@ -3,9 +3,7 @@ use to_str::*; use to_str::ToStr; struct cat { - priv { - mut meows : uint, - } + priv mut meows : uint, mut how_hungry : int, name : ~str, diff --git a/src/test/run-pass/class-typarams.rs b/src/test/run-pass/class-typarams.rs index d11b1761b3c..7512c352406 100644 --- a/src/test/run-pass/class-typarams.rs +++ b/src/test/run-pass/class-typarams.rs @@ -1,7 +1,5 @@ struct cat<U> { - priv { - mut meows : uint, - } + priv mut meows : uint, how_hungry : int, } diff --git a/src/test/run-pass/classes-simple-method.rs b/src/test/run-pass/classes-simple-method.rs index 4cee896f23a..26ee513b338 100644 --- a/src/test/run-pass/classes-simple-method.rs +++ b/src/test/run-pass/classes-simple-method.rs @@ -1,7 +1,5 @@ struct cat { - priv { - mut meows : uint, - } + priv mut meows : uint, how_hungry : int, } diff --git a/src/test/run-pass/classes-simple.rs b/src/test/run-pass/classes-simple.rs index af30fd44982..84e0fc6bb62 100644 --- a/src/test/run-pass/classes-simple.rs +++ b/src/test/run-pass/classes-simple.rs @@ -1,7 +1,5 @@ struct cat { - priv { - mut meows : uint, - } + priv mut meows : uint, how_hungry : int, diff --git a/src/test/run-pass/classes.rs b/src/test/run-pass/classes.rs index 0ade8e57f9c..4911aa9b390 100644 --- a/src/test/run-pass/classes.rs +++ b/src/test/run-pass/classes.rs @@ -1,7 +1,5 @@ struct cat { - priv { - mut meows : uint, - } + priv mut meows : uint, mut how_hungry : int, name : ~str, diff --git a/src/test/run-pass/private-class-field.rs b/src/test/run-pass/private-class-field.rs index 735545a580c..b1e3773fe0d 100644 --- a/src/test/run-pass/private-class-field.rs +++ b/src/test/run-pass/private-class-field.rs @@ -1,7 +1,5 @@ struct cat { - priv { - mut meows : uint, - } + priv mut meows : uint, how_hungry : int, } diff --git a/src/test/run-pass/private-method.rs b/src/test/run-pass/private-method.rs index 23789676549..ff70fb1667c 100644 --- a/src/test/run-pass/private-method.rs +++ b/src/test/run-pass/private-method.rs @@ -1,7 +1,5 @@ struct cat { - priv { - mut meows : uint, - } + priv mut meows : uint, how_hungry : int, } |
