about summary refs log tree commit diff
path: root/src/rustdoc
diff options
context:
space:
mode:
authorTim Chevalier <chevalier@alum.wellesley.edu>2012-04-30 11:52:07 -0700
committerTim Chevalier <chevalier@alum.wellesley.edu>2012-04-30 11:52:07 -0700
commit85fbfa25d799c98a0aadf2faef3fc17400764daf (patch)
tree929d32253cfdbb303dadeecf7433466f6b27214c /src/rustdoc
parent2bb3b63ec4379b812aeceb690d78763ec55d3cbb (diff)
downloadrust-85fbfa25d799c98a0aadf2faef3fc17400764daf.tar.gz
rust-85fbfa25d799c98a0aadf2faef3fc17400764daf.zip
Revert "Eliminate a copy in syntax::parse::new_parser_from_file"
This reverts commit 2bb3b63ec4379b812aeceb690d78763ec55d3cbb.

(I was confused.)
Diffstat (limited to 'src/rustdoc')
-rw-r--r--src/rustdoc/astsrv.rs11
-rw-r--r--src/rustdoc/extract.rs4
-rw-r--r--src/rustdoc/fold.rs8
-rw-r--r--src/rustdoc/parse.rs10
4 files changed, 15 insertions, 18 deletions
diff --git a/src/rustdoc/astsrv.rs b/src/rustdoc/astsrv.rs
index f1eae1b4619..71716ea059e 100644
--- a/src/rustdoc/astsrv.rs
+++ b/src/rustdoc/astsrv.rs
@@ -36,10 +36,7 @@ type ctxt = {
 
 type srv_owner<T> = fn(srv: srv) -> T;
 type ctxt_handler<T> = fn~(ctxt: ctxt) -> T;
-/* The idea is that a parser takes an input of type U,
-   which lets us have parsers that either take unboxed or
-   boxed strings. */
-type parser<U> = fn~(session::session, U) -> @ast::crate;
+type parser = fn~(session::session, str) -> @ast::crate;
 
 enum msg {
     handle_request(fn~(ctxt)),
@@ -51,14 +48,14 @@ enum srv = {
 };
 
 fn from_str<T>(source: str, owner: srv_owner<T>) -> T {
-    run(owner, ~source, parse::from_str_sess)
+    run(owner, source, parse::from_str_sess)
 }
 
 fn from_file<T>(file: str, owner: srv_owner<T>) -> T {
     run(owner, file, parse::from_file_sess)
 }
 
-fn run<T, U: send>(owner: srv_owner<T>, +source: U, parse: parser<U>) -> T {
+fn run<T>(owner: srv_owner<T>, source: str, parse: parser) -> T {
 
     let srv_ = srv({
         ch: task::spawn_listener {|po|
@@ -71,7 +68,7 @@ fn run<T, U: send>(owner: srv_owner<T>, +source: U, parse: parser<U>) -> T {
     ret res;
 }
 
-fn act<U>(po: comm::port<msg>, source: U, parse: parser<U>) {
+fn act(po: comm::port<msg>, source: str, parse: parser) {
     let (sess, ignore_errors) = build_session();
 
     let ctxt = build_ctxt(
diff --git a/src/rustdoc/extract.rs b/src/rustdoc/extract.rs
index 1eaaa967d2d..fc54a1ea9f6 100644
--- a/src/rustdoc/extract.rs
+++ b/src/rustdoc/extract.rs
@@ -289,7 +289,7 @@ fn should_extract_tys() {
 mod test {
 
     fn mk_doc(source: str) -> doc::doc {
-        let ast = parse::from_str(~source);
+        let ast = parse::from_str(source);
         extract(ast, "")
     }
 
@@ -349,7 +349,7 @@ mod test {
 
     #[test]
     fn extract_should_use_default_crate_name() {
-        let source = ~"";
+        let source = "";
         let ast = parse::from_str(source);
         let doc = extract(ast, "burp");
         assert doc.cratemod().name() == "burp";
diff --git a/src/rustdoc/fold.rs b/src/rustdoc/fold.rs
index a9aace20d1d..87b9d85637c 100644
--- a/src/rustdoc/fold.rs
+++ b/src/rustdoc/fold.rs
@@ -354,7 +354,7 @@ fn default_seq_fold_type<T>(
 #[test]
 fn default_fold_should_produce_same_doc() {
     let source = "mod a { fn b() { } mod c { fn d() { } } }";
-    let ast = parse::from_str(~source);
+    let ast = parse::from_str(source);
     let doc = extract::extract(ast, "");
     let fld = default_seq_fold(());
     let folded = fld.fold_doc(fld, doc);
@@ -364,7 +364,7 @@ fn default_fold_should_produce_same_doc() {
 #[test]
 fn default_fold_should_produce_same_consts() {
     let source = "const a: int = 0;";
-    let ast = parse::from_str(~source);
+    let ast = parse::from_str(source);
     let doc = extract::extract(ast, "");
     let fld = default_seq_fold(());
     let folded = fld.fold_doc(fld, doc);
@@ -374,7 +374,7 @@ fn default_fold_should_produce_same_consts() {
 #[test]
 fn default_fold_should_produce_same_enums() {
     let source = "enum a { b }";
-    let ast = parse::from_str(~source);
+    let ast = parse::from_str(source);
     let doc = extract::extract(ast, "");
     let fld = default_seq_fold(());
     let folded = fld.fold_doc(fld, doc);
@@ -384,7 +384,7 @@ fn default_fold_should_produce_same_enums() {
 #[test]
 fn default_parallel_fold_should_produce_same_doc() {
     let source = "mod a { fn b() { } mod c { fn d() { } } }";
-    let ast = parse::from_str(~source);
+    let ast = parse::from_str(source);
     let doc = extract::extract(ast, "");
     let fld = default_par_fold(());
     let folded = fld.fold_doc(fld, doc);
diff --git a/src/rustdoc/parse.rs b/src/rustdoc/parse.rs
index 8c4c385c55b..3ad8f51e8db 100644
--- a/src/rustdoc/parse.rs
+++ b/src/rustdoc/parse.rs
@@ -27,18 +27,18 @@ fn from_file(file: str) -> @ast::crate {
         file, [], new_parse_sess())
 }
 
-fn from_str(source: ~str) -> @ast::crate {
+fn from_str(source: str) -> @ast::crate {
     parse::parse_crate_from_source_str(
-        "-", source, [], new_parse_sess())
+        "-", @source, [], new_parse_sess())
 }
 
-fn from_file_sess(sess: session::session, &&file: str) -> @ast::crate {
+fn from_file_sess(sess: session::session, file: str) -> @ast::crate {
     parse::parse_crate_from_file(file, cfg(sess), sess.parse_sess)
 }
 
-fn from_str_sess(sess: session::session, &&source: ~str) -> @ast::crate {
+fn from_str_sess(sess: session::session, source: str) -> @ast::crate {
     parse::parse_crate_from_source_str(
-        "-", source, cfg(sess), sess.parse_sess)
+        "-", @source, cfg(sess), sess.parse_sess)
 }
 
 fn cfg(sess: session::session) -> ast::crate_cfg {