diff --git a/src/servo/content.rs b/src/servo/content.rs index 562787e1a30..cad907151cf 100644 --- a/src/servo/content.rs +++ b/src/servo/content.rs @@ -62,7 +62,7 @@ fn content(to_layout: chan) -> chan { let css_port = comm::port(); let css_chan = comm::chan(css_port); task::spawn {|| - let new_file <- new_file; + let new_file = copy new_file; let css_stream = spawn_css_lexer_task(~new_file); let css_rules = build_stylesheet(css_stream); css_chan.send(css_rules); @@ -70,7 +70,7 @@ fn content(to_layout: chan) -> chan { // Note: we can parse the next document in parallel // with any previous documents. - let stream = spawn_html_parser_task(filename); + let stream = spawn_html_parser_task(copy filename); let root = build_dom(scope, stream); // Collect the css stylesheet diff --git a/src/servo/engine.rs b/src/servo/engine.rs index d3ebb745380..1256f565b6b 100644 --- a/src/servo/engine.rs +++ b/src/servo/engine.rs @@ -20,7 +20,7 @@ fn engine(sink: S) -> chan { loop { alt self_ch.recv() { LoadURLMsg(url) { - let url <- url; + let url = copy url; if (*url).ends_with(".js") { content.send(content::ExecuteMsg(url)) } else { diff --git a/src/servo/gfx/renderer.rs b/src/servo/gfx/renderer.rs index f0ee72ee244..d0e5cff42aa 100644 --- a/src/servo/gfx/renderer.rs +++ b/src/servo/gfx/renderer.rs @@ -68,7 +68,7 @@ fn draw_display_list( draw_solid_color(draw_target, item, r, g, b); } dl::display_item_image(image) { - draw_image(draw_target, item, image); + draw_image(draw_target, item, copy image); } dl::display_item_text(text_run) { draw_text(draw_target, item, text_run); diff --git a/src/servo/layout/box_builder.rs b/src/servo/layout/box_builder.rs index 1678e5075e7..e495cfd1e36 100644 --- a/src/servo/layout/box_builder.rs +++ b/src/servo/layout/box_builder.rs @@ -156,7 +156,7 @@ impl box_builder_priv for Node { fn determine_box_kind() -> BoxKind { alt self.read({ |n| copy n.kind }) { ~Text(string) { - TextBox(@text_box(string)) + TextBox(@text_box(copy string)) } ~Element(element) { alt *element.kind { diff --git a/src/servo/layout/layout_task.rs b/src/servo/layout/layout_task.rs index b9babb8a148..3857f8e419b 100644 --- a/src/servo/layout/layout_task.rs +++ b/src/servo/layout/layout_task.rs @@ -38,7 +38,7 @@ fn layout(to_renderer: chan) -> chan { node.dump(); node.initialize_style_for_subtree(); - node.recompute_style_for_subtree(arc(styles)); + node.recompute_style_for_subtree(arc(copy styles)); let this_box = node.construct_boxes(); this_box.dump(); diff --git a/src/servo/layout/style/matching.rs b/src/servo/layout/style/matching.rs index fb073565224..d60cddf6660 100644 --- a/src/servo/layout/style/matching.rs +++ b/src/servo/layout/style/matching.rs @@ -184,7 +184,7 @@ impl matching_methods for Node { // information as we go. for styles.each { |sty| - let (selectors, decls) <- *(copy sty); + let (selectors, decls) = copy *sty; for selectors.each { |sel| if self.matches_selector(sel) { for decls.each { |decl| diff --git a/src/servo/opts.rs b/src/servo/opts.rs index 694af73cbaa..278b3f2fdfd 100644 --- a/src/servo/opts.rs +++ b/src/servo/opts.rs @@ -26,7 +26,7 @@ fn from_cmdline_args(args: [str]) -> opts { ]; let match = alt getopts::getopts(args, opts) { - result::ok(m) { let m <- m; m } + result::ok(m) { copy m } result::err(f) { fail getopts::fail_str(f) } }; @@ -37,7 +37,7 @@ fn from_cmdline_args(args: [str]) -> opts { }; let render_mode = alt getopts::opt_maybe_str(match, "o") { - some(output_file) { let output_file <- output_file; png(output_file) } + some(output_file) { png(copy output_file) } none { screen } }; diff --git a/src/servo/parser/css_builder.rs b/src/servo/parser/css_builder.rs index 6020b3fb76a..19b1abcca82 100644 --- a/src/servo/parser/css_builder.rs +++ b/src/servo/parser/css_builder.rs @@ -17,7 +17,7 @@ type token_reader = {stream : port, mut lookahead : option}; impl methods for token_reader { fn get() -> token { alt copy self.lookahead { - some(tok) { self.lookahead = none; let t <- tok; t } + some(tok) { self.lookahead = none; copy tok } none { recv(self.stream) } } } @@ -31,7 +31,7 @@ impl methods for token_reader { fn parse_element(reader : token_reader) -> option<~selector> { // Get the current element type let elmt_name = alt reader.get() { - to_elmt(tag) { let t <- tag; t } + to_elmt(tag) { copy tag } to_eof { ret none; } _ { fail "Expected an element" } }; @@ -42,7 +42,7 @@ fn parse_element(reader : token_reader) -> option<~selector> { loop { let tok = reader.get(); alt tok { - to_attr(attr) { let a <- attr; attr_list += [a]; } + to_attr(attr) { attr_list += [copy attr]; } to_start_desc | to_descendant | to_child | to_sibling | to_comma { reader.unget(tok); @@ -68,7 +68,7 @@ fn parse_rule(reader : token_reader) -> option<~rule> { let mut cur_sel; alt parse_element(reader) { - some(elmt) { cur_sel <- elmt; } + some(elmt) { cur_sel = copy elmt; } none { ret none; } // we hit an eof in the middle of a rule } @@ -79,7 +79,7 @@ fn parse_rule(reader : token_reader) -> option<~rule> { alt parse_element(reader) { some(elmt) { let built_sel <- cur_sel; - let new_sel <- elmt; + let new_sel = copy elmt; cur_sel <- ~descendant(built_sel, new_sel) } none { ret none; } @@ -89,7 +89,7 @@ fn parse_rule(reader : token_reader) -> option<~rule> { alt parse_element(reader) { some(elmt) { let built_sel <- cur_sel; - let new_sel <- elmt; + let new_sel = copy elmt; cur_sel <- ~child(built_sel, new_sel) } none { ret none; } @@ -99,7 +99,7 @@ fn parse_rule(reader : token_reader) -> option<~rule> { alt parse_element(reader) { some(elmt) { let built_sel <- cur_sel; - let new_sel <- elmt; + let new_sel = copy elmt; cur_sel <- ~sibling(built_sel, new_sel) } none { ret none; } @@ -186,7 +186,7 @@ fn build_stylesheet(stream : port) -> [~rule] { loop { alt parse_rule(reader) { - some(rule) { let r <- rule; rule_list += [r]; } + some(rule) { rule_list += [copy rule]; } none { break; } } } diff --git a/src/servo/parser/html_builder.rs b/src/servo/parser/html_builder.rs index 0dd6c8a5491..db9df7a5e6f 100644 --- a/src/servo/parser/html_builder.rs +++ b/src/servo/parser/html_builder.rs @@ -76,13 +76,13 @@ fn build_dom(scope: NodeScope, stream: port) -> Node { parser::to_start_opening_tag(tag_name) { #debug["starting tag %s", tag_name]; let element_kind = build_element_kind(tag_name); - let new_node = scope.new_node(Element(ElementData(tag_name, element_kind))); + let new_node = scope.new_node(Element(ElementData(copy tag_name, element_kind))); scope.add_child(cur, new_node); cur = new_node; } parser::to_attr(key, value) { #debug["attr: %? = %?", key, value]; - link_up_attribute(scope, cur, key, value); + link_up_attribute(scope, cur, copy key, copy value); } parser::to_end_opening_tag { #debug("end opening tag"); @@ -94,8 +94,7 @@ fn build_dom(scope: NodeScope, stream: port) -> Node { cur = scope.get_parent(cur).get(); } parser::to_text(s) if !s.is_whitespace() { - let s <- s; - let new_node = scope.new_node(Text(s)); + let new_node = scope.new_node(Text(copy s)); scope.add_child(cur, new_node); } parser::to_text(_) { diff --git a/src/servo/parser/lexer.rs b/src/servo/parser/lexer.rs index 42ac0aef9b3..0ed11685254 100644 --- a/src/servo/parser/lexer.rs +++ b/src/servo/parser/lexer.rs @@ -480,7 +480,7 @@ fn spawn_html_parser_task(-filename: ~str) -> port { let result_port = port(); let result_chan = chan(result_port); task::spawn {|| - let filename <- *filename; + let filename = copy *filename; assert (copy filename).ends_with(".html"); let file_data = io::read_whole_file(filename).get(); let reader = io::bytes_reader(file_data); @@ -502,7 +502,7 @@ fn spawn_css_lexer_task(-filename: ~str) -> port { let result_port = port(); let result_chan = chan(result_port); task::spawn {|| - let filename <- *filename; + let filename = copy *filename; assert (copy filename).ends_with(".css"); let file_try = io::read_whole_file(filename); diff --git a/src/servo/servo.rs b/src/servo/servo.rs index fbe767f93cf..1031a417ac6 100644 --- a/src/servo/servo.rs +++ b/src/servo/servo.rs @@ -65,7 +65,7 @@ fn run_pipeline_png(-url: str, outfile: str) { listen {|pngdata| let sink = pngsink::pngsink(pngdata); let engine = engine::engine(sink); - let url <- url; + let url = copy url; engine.send(engine::LoadURLMsg(~url)); alt io::buffered_file_writer(outfile) { result::ok(writer) {