diff options
| author | Brian Anderson <banderson@mozilla.com> | 2012-08-07 18:10:06 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2012-08-08 18:19:24 -0700 |
| commit | 6a0720b439a4692f55d3b9951e74d452a7aef802 (patch) | |
| tree | d2dd72702f32e0254f7d72dd5782a8b6741d0004 /src/libsyntax | |
| parent | e997948c8a70d76ffac3c60867d47f98e698988f (diff) | |
| download | rust-6a0720b439a4692f55d3b9951e74d452a7aef802.tar.gz rust-6a0720b439a4692f55d3b9951e74d452a7aef802.zip | |
Convert impls to new syntax
Diffstat (limited to 'src/libsyntax')
28 files changed, 60 insertions, 79 deletions
diff --git a/src/libsyntax/ast.rs b/src/libsyntax/ast.rs index ee1e12b87b7..c33b3e9b6ec 100644 --- a/src/libsyntax/ast.rs +++ b/src/libsyntax/ast.rs @@ -827,20 +827,20 @@ trait path_concat { } // Remove after snapshot! -impl methods of path_concat for ident { +impl ident: path_concat { pure fn +(&&id: ident) -> @path { simple_path(self, empty_span()) + id } } -impl methods of ops::add<ident,@path> for ident { +impl ident: ops::add<ident,@path> { pure fn add(&&id: ident) -> @path { simple_path(self, empty_span()) + id } } // Remove after snapshot! -impl methods of path_concat for @path { +impl @path: path_concat { pure fn +(&&id: ident) -> @path { @{ idents: vec::append_one(self.idents, id) @@ -849,7 +849,7 @@ impl methods of path_concat for @path { } } -impl methods of ops::add<ident,@path> for @path { +impl @path: ops::add<ident,@path> { pure fn add(&&id: ident) -> @path { @{ idents: vec::append_one(self.idents, id) diff --git a/src/libsyntax/ast_map.rs b/src/libsyntax/ast_map.rs index dfb87b7efbb..241a212c2ac 100644 --- a/src/libsyntax/ast_map.rs +++ b/src/libsyntax/ast_map.rs @@ -3,7 +3,6 @@ import std::map::hashmap; import ast::*; import print::pprust; import ast_util::path_to_ident; -import ast_util::inlined_item_methods; import diagnostic::span_handler; enum path_elt { path_mod(ident), path_name(ident) } diff --git a/src/libsyntax/ast_util.rs b/src/libsyntax/ast_util.rs index 6ff0bed8e10..6ea6ecb1ba3 100644 --- a/src/libsyntax/ast_util.rs +++ b/src/libsyntax/ast_util.rs @@ -368,7 +368,7 @@ trait inlined_item_utils { fn accept<E>(e: E, v: visit::vt<E>); } -impl inlined_item_methods of inlined_item_utils for inlined_item { +impl inlined_item: inlined_item_utils { fn ident() -> ident { match self { ii_item(i) => /* FIXME (#2543) */ copy i.ident, diff --git a/src/libsyntax/codemap.rs b/src/libsyntax/codemap.rs index e725eaaa724..0d8566ae42c 100644 --- a/src/libsyntax/codemap.rs +++ b/src/libsyntax/codemap.rs @@ -1,4 +1,4 @@ -import dvec::{dvec, extensions}; +import dvec::dvec; export filename; export filemap; diff --git a/src/libsyntax/diagnostic.rs b/src/libsyntax/diagnostic.rs index bd5b37ab698..c71422d198f 100644 --- a/src/libsyntax/diagnostic.rs +++ b/src/libsyntax/diagnostic.rs @@ -46,7 +46,7 @@ type codemap_t = @{ cm: codemap::codemap }; -impl codemap_span_handler of span_handler for codemap_t { +impl codemap_t: span_handler { fn span_fatal(sp: span, msg: ~str) -> ! { self.handler.emit(some((self.cm, sp)), msg, fatal); fail; @@ -72,7 +72,7 @@ impl codemap_span_handler of span_handler for codemap_t { } } -impl codemap_handler of handler for handler_t { +impl handler_t: handler { fn fatal(msg: ~str) -> ! { self.emit(none, msg, fatal); fail; diff --git a/src/libsyntax/ext/auto_serialize.rs b/src/libsyntax/ext/auto_serialize.rs index 934a295dfb5..c93dccda034 100644 --- a/src/libsyntax/ext/auto_serialize.rs +++ b/src/libsyntax/ext/auto_serialize.rs @@ -150,7 +150,7 @@ trait ext_ctxt_helpers { fn at(span: span, expr: @ast::expr) -> @ast::expr; } -impl helpers of ext_ctxt_helpers for ext_ctxt { +impl ext_ctxt: ext_ctxt_helpers { fn helper_path(base_path: @ast::path, helper_name: ~str) -> @ast::path { let head = vec::init(base_path.idents); diff --git a/src/libsyntax/ext/base.rs b/src/libsyntax/ext/base.rs index 0f163e73c81..484932b539e 100644 --- a/src/libsyntax/ext/base.rs +++ b/src/libsyntax/ext/base.rs @@ -144,7 +144,7 @@ fn mk_ctxt(parse_sess: parse::parse_sess, cfg: ast::crate_cfg, mut backtrace: expn_info, mut mod_path: ~[ast::ident]}; - impl of ext_ctxt for ctxt_repr { + impl ctxt_repr: ext_ctxt { fn codemap() -> codemap { self.parse_sess.cm } fn parse_sess() -> parse::parse_sess { self.parse_sess } fn cfg() -> ast::crate_cfg { self.cfg } @@ -277,7 +277,7 @@ fn get_mac_body(cx: ext_ctxt, sp: span, args: ast::mac_body) fn tt_args_to_original_flavor(cx: ext_ctxt, sp: span, arg: ~[ast::token_tree]) -> ast::mac_arg { import ast::{matcher, matcher_, match_tok, match_seq, match_nonterminal}; - import parse::lexer::{new_tt_reader, tt_reader_as_reader, reader}; + import parse::lexer::{new_tt_reader, reader}; import tt::earley_parser::{parse_or_else, matched_seq, matched_nonterminal}; diff --git a/src/libsyntax/ext/pipes.rs b/src/libsyntax/ext/pipes.rs index 08562c4490f..b9ff13c9578 100644 --- a/src/libsyntax/ext/pipes.rs +++ b/src/libsyntax/ext/pipes.rs @@ -36,15 +36,13 @@ FIXME (#3072) - This is still incomplete. import codemap::span; import ext::base::ext_ctxt; import ast::tt_delim; -import parse::lexer::{new_tt_reader, reader, tt_reader_as_reader}; +import parse::lexer::{new_tt_reader, reader}; import parse::parser::{parser, SOURCE_FILE}; import parse::common::parser_common; import pipes::parse_proto::proto_parser; -import pipes::pipec::compile; import pipes::proto::{visit, protocol}; -import pipes::check::proto_check; fn expand_proto(cx: ext_ctxt, _sp: span, id: ast::ident, tt: ~[ast::token_tree]) -> base::mac_result diff --git a/src/libsyntax/ext/pipes/ast_builder.rs b/src/libsyntax/ext/pipes/ast_builder.rs index 716fe62a61f..d2ef304a1f0 100644 --- a/src/libsyntax/ext/pipes/ast_builder.rs +++ b/src/libsyntax/ext/pipes/ast_builder.rs @@ -36,7 +36,7 @@ trait append_types { fn add_tys(+tys: ~[@ast::ty]) -> @ast::path; } -impl methods of append_types for @ast::path { +impl @ast::path: append_types { fn add_ty(ty: @ast::ty) -> @ast::path { @{types: vec::append_one(self.types, ty) with *self} @@ -89,7 +89,7 @@ trait ext_ctxt_ast_builder { fn ty_option(ty: @ast::ty) -> @ast::ty; } -impl ast_builder of ext_ctxt_ast_builder for ext_ctxt { +impl ext_ctxt: ext_ctxt_ast_builder { fn ty_option(ty: @ast::ty) -> @ast::ty { self.ty_path_ast_builder(path(@~"option", self.empty_span()) .add_ty(ty)) diff --git a/src/libsyntax/ext/pipes/check.rs b/src/libsyntax/ext/pipes/check.rs index 8595a991e24..e286b4f76be 100644 --- a/src/libsyntax/ext/pipes/check.rs +++ b/src/libsyntax/ext/pipes/check.rs @@ -19,16 +19,14 @@ that. */ -import dvec::extensions; - import ext::base::ext_ctxt; import ast::{ident}; -import proto::{state, protocol, next_state, methods}; +import proto::{state, protocol, next_state}; import ast_builder::empty_span; -impl proto_check of proto::visitor<(), (), ()> for ext_ctxt { +impl ext_ctxt: proto::visitor<(), (), ()> { fn visit_proto(_proto: protocol, _states: &[()]) { } diff --git a/src/libsyntax/ext/pipes/liveness.rs b/src/libsyntax/ext/pipes/liveness.rs index 87179accefa..17e569552a7 100644 --- a/src/libsyntax/ext/pipes/liveness.rs +++ b/src/libsyntax/ext/pipes/liveness.rs @@ -27,11 +27,8 @@ updating the states using rule (2) until there are no changes. */ -import dvec::extensions; - import std::bitv::{bitv}; -import proto::methods; import ast_builder::empty_span; fn analyze(proto: protocol, _cx: ext_ctxt) { diff --git a/src/libsyntax/ext/pipes/parse_proto.rs b/src/libsyntax/ext/pipes/parse_proto.rs index aa553d8ae53..84180ff3797 100644 --- a/src/libsyntax/ext/pipes/parse_proto.rs +++ b/src/libsyntax/ext/pipes/parse_proto.rs @@ -11,7 +11,7 @@ trait proto_parser { fn parse_state(proto: protocol); } -impl proto_parser of proto_parser for parser { +impl parser: proto_parser { fn parse_proto(id: ident) -> protocol { let proto = protocol(id, self.span); diff --git a/src/libsyntax/ext/pipes/pipec.rs b/src/libsyntax/ext/pipes/pipec.rs index b4db8a6a72a..a835cbb27a4 100644 --- a/src/libsyntax/ext/pipes/pipec.rs +++ b/src/libsyntax/ext/pipes/pipec.rs @@ -3,9 +3,6 @@ import to_str::to_str; import dvec::dvec; -import dvec::extensions; - -import tuple::extensions; import ast::ident; import util::interner; @@ -15,11 +12,8 @@ import ext::base::{mk_ctxt, ext_ctxt}; import parse; import parse::*; import proto::*; -import ast::methods; import ast_builder::append_types; -import ast_builder::ast_builder; -import ast_builder::methods; import ast_builder::path; // Transitional reexports so qquote can find the paths it is looking for @@ -44,7 +38,7 @@ trait gen_init { fn compile(cx: ext_ctxt) -> @ast::item; } -impl compile of gen_send for message { +impl message: gen_send { fn gen_send(cx: ext_ctxt, try: bool) -> @ast::item { debug!{"pipec: gen_send"}; match self { @@ -199,7 +193,7 @@ impl compile of gen_send for message { } } -impl compile of to_type_decls for state { +impl state: to_type_decls { fn to_type_decls(cx: ext_ctxt) -> ~[@ast::item] { debug!{"pipec: to_type_decls"}; // This compiles into two different type declarations. Say the @@ -283,7 +277,7 @@ impl compile of to_type_decls for state { } } -impl compile of gen_init for protocol { +impl protocol: gen_init { fn gen_init(cx: ext_ctxt) -> @ast::item { let ext_cx = cx; @@ -425,37 +419,37 @@ trait to_source { fn to_source() -> ~str; } -impl of to_source for @ast::item { +impl @ast::item: to_source { fn to_source() -> ~str { item_to_str(self) } } -impl of to_source for ~[@ast::item] { +impl ~[@ast::item]: to_source { fn to_source() -> ~str { str::connect(self.map(|i| i.to_source()), ~"\n\n") } } -impl of to_source for @ast::ty { +impl @ast::ty: to_source { fn to_source() -> ~str { ty_to_str(self) } } -impl of to_source for ~[@ast::ty] { +impl ~[@ast::ty]: to_source { fn to_source() -> ~str { str::connect(self.map(|i| i.to_source()), ~", ") } } -impl of to_source for ~[ast::ty_param] { +impl ~[ast::ty_param]: to_source { fn to_source() -> ~str { pprust::typarams_to_str(self) } } -impl of to_source for @ast::expr { +impl @ast::expr: to_source { fn to_source() -> ~str { pprust::expr_to_str(self) } @@ -467,7 +461,7 @@ trait ext_ctxt_parse_utils { fn parse_stmt(s: ~str) -> @ast::stmt; } -impl parse_utils of ext_ctxt_parse_utils for ext_ctxt { +impl ext_ctxt: ext_ctxt_parse_utils { fn parse_item(s: ~str) -> @ast::item { let res = parse::parse_item_from_source_str( ~"***protocol expansion***", diff --git a/src/libsyntax/ext/pipes/proto.rs b/src/libsyntax/ext/pipes/proto.rs index 5769125225e..8409135db6b 100644 --- a/src/libsyntax/ext/pipes/proto.rs +++ b/src/libsyntax/ext/pipes/proto.rs @@ -1,15 +1,15 @@ import to_str::to_str; -import dvec::{dvec, extensions}; +import dvec::dvec; import ast::{ident}; -import ast_builder::{path, methods, ast_builder, append_types}; +import ast_builder::{path, append_types}; enum direction { send, recv } -impl of to_str for direction { +impl direction: to_str { fn to_str() -> ~str { match self { send => ~"send", @@ -18,7 +18,7 @@ impl of to_str for direction { } } -impl methods for direction { +impl direction { fn reverse() -> direction { match self { send => recv, @@ -34,7 +34,7 @@ enum message { message(ident, span, ~[@ast::ty], state, next_state) } -impl methods for message { +impl message { fn name() -> ident { match self { message(id, _, _, _, _) => id @@ -67,7 +67,7 @@ enum state { }), } -impl methods for state { +impl state { fn add_message(name: ident, span: span, +data: ~[@ast::ty], next: next_state) { self.messages.push(message(name, span, data, self, @@ -161,7 +161,7 @@ class protocol_ { } } -impl methods for protocol { +impl protocol { fn add_state(name: ident, dir: direction) -> state { self.add_state_poly(name, dir, ~[]) } diff --git a/src/libsyntax/ext/qquote.rs b/src/libsyntax/ext/qquote.rs index 8d219ec4395..c5af28bc0b3 100644 --- a/src/libsyntax/ext/qquote.rs +++ b/src/libsyntax/ext/qquote.rs @@ -2,7 +2,7 @@ import ast::{crate, expr_, mac_invoc, mac_aq, mac_var}; import parse::parser; import parse::parser::parse_from_source_str; -import dvec::{dvec, extensions}; +import dvec::dvec; import fold::*; import visit::*; @@ -34,7 +34,7 @@ trait qq_helper { fn get_fold_fn() -> ~str; } -impl of qq_helper for @ast::crate { +impl @ast::crate: qq_helper { fn span() -> span {self.span} fn visit(cx: aq_ctxt, v: vt<aq_ctxt>) {visit_crate(*self, cx, v);} fn extract_mac() -> option<ast::mac_> {fail} @@ -44,7 +44,7 @@ impl of qq_helper for @ast::crate { } fn get_fold_fn() -> ~str {~"fold_crate"} } -impl of qq_helper for @ast::expr { +impl @ast::expr: qq_helper { fn span() -> span {self.span} fn visit(cx: aq_ctxt, v: vt<aq_ctxt>) {visit_expr(self, cx, v);} fn extract_mac() -> option<ast::mac_> { @@ -59,7 +59,7 @@ impl of qq_helper for @ast::expr { } fn get_fold_fn() -> ~str {~"fold_expr"} } -impl of qq_helper for @ast::ty { +impl @ast::ty: qq_helper { fn span() -> span {self.span} fn visit(cx: aq_ctxt, v: vt<aq_ctxt>) {visit_ty(self, cx, v);} fn extract_mac() -> option<ast::mac_> { @@ -74,7 +74,7 @@ impl of qq_helper for @ast::ty { } fn get_fold_fn() -> ~str {~"fold_ty"} } -impl of qq_helper for @ast::item { +impl @ast::item: qq_helper { fn span() -> span {self.span} fn visit(cx: aq_ctxt, v: vt<aq_ctxt>) {visit_item(self, cx, v);} fn extract_mac() -> option<ast::mac_> {fail} @@ -84,7 +84,7 @@ impl of qq_helper for @ast::item { } fn get_fold_fn() -> ~str {~"fold_item"} } -impl of qq_helper for @ast::stmt { +impl @ast::stmt: qq_helper { fn span() -> span {self.span} fn visit(cx: aq_ctxt, v: vt<aq_ctxt>) {visit_stmt(self, cx, v);} fn extract_mac() -> option<ast::mac_> {fail} @@ -94,7 +94,7 @@ impl of qq_helper for @ast::stmt { } fn get_fold_fn() -> ~str {~"fold_stmt"} } -impl of qq_helper for @ast::pat { +impl @ast::pat: qq_helper { fn span() -> span {self.span} fn visit(cx: aq_ctxt, v: vt<aq_ctxt>) {visit_pat(self, cx, v);} fn extract_mac() -> option<ast::mac_> {fail} diff --git a/src/libsyntax/ext/simplext.rs b/src/libsyntax/ext/simplext.rs index 426fea346b9..98289152d33 100644 --- a/src/libsyntax/ext/simplext.rs +++ b/src/libsyntax/ext/simplext.rs @@ -1,6 +1,6 @@ import codemap::span; import std::map::{hashmap, str_hash, box_str_hash}; -import dvec::{dvec, extensions}; +import dvec::dvec; import base::*; diff --git a/src/libsyntax/ext/tt/earley_parser.rs b/src/libsyntax/ext/tt/earley_parser.rs index d84eb3ec488..a0717591b49 100644 --- a/src/libsyntax/ext/tt/earley_parser.rs +++ b/src/libsyntax/ext/tt/earley_parser.rs @@ -7,7 +7,7 @@ import parse::parser::{parser,SOURCE_FILE}; //import parse::common::parser_common; import parse::common::*; //resolve bug? import parse::parse_sess; -import dvec::{dvec, extensions}; +import dvec::dvec; import ast::{matcher, match_tok, match_seq, match_nonterminal, ident}; import ast_util::mk_sp; import std::map::{hashmap, box_str_hash}; diff --git a/src/libsyntax/ext/tt/macro_rules.rs b/src/libsyntax/ext/tt/macro_rules.rs index a870928d50b..557b11c5d95 100644 --- a/src/libsyntax/ext/tt/macro_rules.rs +++ b/src/libsyntax/ext/tt/macro_rules.rs @@ -2,7 +2,7 @@ import base::{ext_ctxt, mac_result, mr_expr, mr_def, expr_tt}; import codemap::span; import ast::{ident, matcher_, matcher, match_tok, match_nonterminal, match_seq, tt_delim}; -import parse::lexer::{new_tt_reader, tt_reader_as_reader, reader}; +import parse::lexer::{new_tt_reader, reader}; import parse::token::{FAT_ARROW, SEMI, LBRACE, RBRACE, nt_matchers, nt_tt}; import parse::parser::{parser, SOURCE_FILE}; import earley_parser::{parse, parse_or_else, success, failure, named_match, diff --git a/src/libsyntax/fold.rs b/src/libsyntax/fold.rs index 5954d70739e..48d0bf12845 100644 --- a/src/libsyntax/fold.rs +++ b/src/libsyntax/fold.rs @@ -652,7 +652,7 @@ fn default_ast_fold() -> ast_fold_precursor { new_span: noop_span}; } -impl of ast_fold for ast_fold_precursor { +impl ast_fold_precursor: ast_fold { /* naturally, a macro to write these would be nice */ fn fold_crate(c: crate) -> crate { let (n, s) = self.fold_crate(c.node, c.span, self as ast_fold); @@ -763,7 +763,7 @@ impl of ast_fold for ast_fold_precursor { } } -impl extensions for ast_fold { +impl ast_fold { fn fold_attributes(attrs: ~[attribute]) -> ~[attribute] { attrs.map(|x| fold_attribute_(x, self)) } diff --git a/src/libsyntax/parse.rs b/src/libsyntax/parse.rs index 0a6df808530..6936eeed8f9 100644 --- a/src/libsyntax/parse.rs +++ b/src/libsyntax/parse.rs @@ -1,5 +1,4 @@ //! The main parser interface -import dvec::extensions; export parse_sess; export new_parse_sess, new_parse_sess_special_handler; @@ -19,8 +18,7 @@ import common::parser_common; import ast::node_id; import util::interner; import diagnostic::{span_handler, mk_span_handler, mk_handler, emitter}; -import lexer::{reader, string_reader, string_reader_as_reader}; -import lexer::{tt_reader_as_reader}; +import lexer::{reader, string_reader}; type parse_sess = @{ cm: codemap::codemap, diff --git a/src/libsyntax/parse/attr.rs b/src/libsyntax/parse/attr.rs index aefa7264bf6..a93d25ced00 100644 --- a/src/libsyntax/parse/attr.rs +++ b/src/libsyntax/parse/attr.rs @@ -23,7 +23,7 @@ trait parser_attr { fn parse_optional_meta() -> ~[@ast::meta_item]; } -impl parser_attr of parser_attr for parser { +impl parser: parser_attr { fn parse_outer_attrs_or_ext(first_item_attrs: ~[ast::attribute]) -> attr_or_ext diff --git a/src/libsyntax/parse/comments.rs b/src/libsyntax/parse/comments.rs index 7c24f8b1245..d3c17b81298 100644 --- a/src/libsyntax/parse/comments.rs +++ b/src/libsyntax/parse/comments.rs @@ -1,8 +1,7 @@ -import io::reader_util; import io::println;//XXXXXXXXxxx import util::interner; import lexer::{string_reader, bump, is_eof, nextch, - is_whitespace, get_str_from, string_reader_as_reader, reader}; + is_whitespace, get_str_from, reader}; export cmnt; export lit; diff --git a/src/libsyntax/parse/common.rs b/src/libsyntax/parse/common.rs index 445e4c20eed..4038578d3f8 100644 --- a/src/libsyntax/parse/common.rs +++ b/src/libsyntax/parse/common.rs @@ -59,7 +59,7 @@ trait parser_common { f: fn(parser) -> T) -> spanned<~[T]>; } -impl parser_common of parser_common for parser { +impl parser: parser_common { fn unexpected_last(t: token::token) -> ! { self.span_fatal( copy self.last_span, diff --git a/src/libsyntax/parse/lexer.rs b/src/libsyntax/parse/lexer.rs index e9bfbc753f7..69dde491bdf 100644 --- a/src/libsyntax/parse/lexer.rs +++ b/src/libsyntax/parse/lexer.rs @@ -68,7 +68,7 @@ fn dup_string_reader(&&r: string_reader) -> string_reader { mut peek_tok: r.peek_tok, mut peek_span: r.peek_span} } -impl string_reader_as_reader of reader for string_reader { +impl string_reader: reader { fn is_eof() -> bool { is_eof(self) } fn next_token() -> {tok: token::token, sp: span} { let ret_val = {tok: self.peek_tok, sp: self.peek_span}; @@ -86,7 +86,7 @@ impl string_reader_as_reader of reader for string_reader { fn dup() -> reader { dup_string_reader(self) as reader } } -impl tt_reader_as_reader of reader for tt_reader { +impl tt_reader: reader { fn is_eof() -> bool { self.cur_tok == token::EOF } fn next_token() -> {tok: token::token, sp: span} { /* weird resolve bug: if the following `if`, or any of its diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index c8a333bb6e1..a572290a6f1 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -8,12 +8,12 @@ import token::{can_begin_expr, is_ident, is_ident_or_path, is_plain_ident, import codemap::{span,fss_none}; import util::interner; import ast_util::{spanned, respan, mk_sp, ident_to_path, operator_prec}; -import lexer::{reader, tt_reader_as_reader}; +import lexer::reader; import prec::{as_prec, token_to_binop}; import attr::parser_attr; import common::{seq_sep_trailing_disallowed, seq_sep_trailing_allowed, seq_sep_none, token_to_str}; -import dvec::{dvec, extensions}; +import dvec::dvec; import vec::{push}; import ast::{_mod, add, alt_check, alt_exhaustive, arg, arm, attribute, bind_by_ref, bind_by_implicit_ref, bind_by_value, @@ -2424,9 +2424,6 @@ class parser { } // Parses four variants (with the region/type params always optional): - // impl /&<T: copy> of to_str for ~[T] { ... } - // impl name/&<T> of to_str for ~[T] { ... } - // impl name/&<T> for ~[T] { ... } // impl<T> ~[T] : to_str { ... } fn parse_item_impl() -> item_info { fn wrap_path(p: parser, pt: @path) -> @ty { @@ -2466,6 +2463,7 @@ class parser { traits = ~[]; } } else { + self.warn(~"old-style named impl?"); let mut ident_old; if self.token == token::BINOP(token::SLASH) { self.parse_region_param(); diff --git a/src/libsyntax/print/pp.rs b/src/libsyntax/print/pp.rs index a8f9cf756a8..5bbf5deb429 100644 --- a/src/libsyntax/print/pp.rs +++ b/src/libsyntax/print/pp.rs @@ -1,5 +1,5 @@ import io::writer_util; -import dvec::{dvec, extensions}; +import dvec::dvec; /* * This pretty-printer is a direct reimplementation of Philip Karlton's @@ -232,7 +232,7 @@ enum printer { printer_(@printer_) } -impl printer for printer { +impl printer { fn last_token() -> token { self.token[self.right] } // be very careful with this! fn replace_last_token(t: token) { self.token[self.right] = t; } diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index 4ade7618bcd..7a20dc1d3be 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -7,7 +7,7 @@ import pp::{break_offset, word, printer, import diagnostic; import ast::{required, provided}; import ast_util::{operator_prec}; -import dvec::{dvec, extensions}; +import dvec::dvec; import parse::classify::*; import util::interner; diff --git a/src/libsyntax/util/interner.rs b/src/libsyntax/util/interner.rs index ccc53020155..e003408f3fd 100644 --- a/src/libsyntax/util/interner.rs +++ b/src/libsyntax/util/interner.rs @@ -3,7 +3,7 @@ // type, and vice versa. import std::map; import std::map::{hashmap, hashfn, eqfn}; -import dvec::{dvec, extensions}; +import dvec::dvec; type hash_interner<T: const> = {map: hashmap<T, uint>, @@ -25,7 +25,7 @@ trait interner<T: const copy> { fn len() -> uint; } -impl <T: const copy> of interner<T> for hash_interner<T> { +impl <T: const copy> hash_interner<T>: interner<T> { fn intern(val: T) -> uint { match self.map.find(val) { some(idx) => return idx, |
