Revert "rustboot: Emit an error instead of asserting in trans when a T is passed by value" due to test failures

This reverts commit ee901858a2.
This commit is contained in:
Patrick Walton 2010-10-28 15:04:48 -07:00
parent ee901858a2
commit b914e0e74c
2 changed files with 2 additions and 21 deletions

View File

@ -1308,23 +1308,6 @@ let process_crate (cx:Semant.ctxt) (crate:Ast.crate) : unit =
Common.err (Some item_id) "this function must return a value"
in
let check_fn_ty_validity item_id (ty_sig, _) =
let check_input_slot i slot =
match slot with
{
Ast.slot_ty = Some (Ast.TY_param _);
Ast.slot_mode = Ast.MODE_local
} ->
Common.err
(Some item_id)
"parameter %d of this type-parametric function must be \
passed by reference, not by value"
(i + 1)
| _ -> ()
in
Array.iteri check_input_slot ty_sig.Ast.sig_input_slots
in
let visit_mod_item_pre _ _ item =
let { Common.node = item; Common.id = item_id } = item in
match item.Ast.decl_item with
@ -1333,9 +1316,7 @@ let process_crate (cx:Semant.ctxt) (crate:Ast.crate) : unit =
let fn_ty = Hashtbl.find cx.Semant.ctxt_all_item_types item_id in
begin
match fn_ty with
Ast.TY_fn ty_fn ->
check_fn_ty_validity item_id ty_fn;
push_fn_ctx_of_ty_fn ty_fn
Ast.TY_fn ty_fn -> push_fn_ctx_of_ty_fn ty_fn
| _ ->
Common.bug ()
"Type.visit_mod_item_pre: fn item didn't have a fn type"

View File

@ -12,7 +12,7 @@ tag list[T] {
nil;
}
fn foldl[T,U](&list[T] ls, &U u, fn(&T t, U u) -> U f) -> U {
fn foldl[T,U](&list[T] ls, U u, fn(&T t, U u) -> U f) -> U {
alt(ls) {
case (cons[T](?hd, ?tl)) {
auto u_ = f(hd, u);