Remove or _-prefix all unused function arguments
This should make the compilation process a bit less noisy.
This commit is contained in:
parent
2885c67d47
commit
cd440d338e
src
comp
back
front
lib
metadata
middle
alias.rsast_map.rsfreevars.rsresolve.rsshape.rstrans.rstrans_alt.rstrans_common.rstrans_objects.rs
tstate
ty.rstypeck.rssyntax
lib
@ -313,7 +313,7 @@ fn build_link_meta(sess: &session::session, c: &ast::crate, output: &str,
|
||||
}
|
||||
|
||||
// This calculates CMH as defined above
|
||||
fn crate_meta_extras_hash(sha: sha1, crate: &ast::crate,
|
||||
fn crate_meta_extras_hash(sha: sha1, _crate: &ast::crate,
|
||||
metas: &provided_metas) -> str {
|
||||
fn len_and_str(s: &str) -> str {
|
||||
ret #fmt("%u_%s", str::byte_len(s), s);
|
||||
@ -349,7 +349,7 @@ fn build_link_meta(sess: &session::session, c: &ast::crate, output: &str,
|
||||
name, default));
|
||||
}
|
||||
|
||||
fn crate_meta_name(sess: &session::session, crate: &ast::crate,
|
||||
fn crate_meta_name(sess: &session::session, _crate: &ast::crate,
|
||||
output: &str, metas: &provided_metas) -> str {
|
||||
ret alt metas.name {
|
||||
some(v) { v }
|
||||
@ -368,7 +368,7 @@ fn build_link_meta(sess: &session::session, c: &ast::crate, output: &str,
|
||||
};
|
||||
}
|
||||
|
||||
fn crate_meta_vers(sess: &session::session, crate: &ast::crate,
|
||||
fn crate_meta_vers(sess: &session::session, _crate: &ast::crate,
|
||||
metas: &provided_metas) -> str {
|
||||
ret alt metas.vers {
|
||||
some(v) { v }
|
||||
@ -435,7 +435,7 @@ fn mangle(ss: &[str]) -> str {
|
||||
ret n;
|
||||
}
|
||||
|
||||
fn exported_name(path: &[str], hash: &str, vers: &str) -> str {
|
||||
fn exported_name(path: &[str], hash: &str, _vers: &str) -> str {
|
||||
// FIXME: versioning isn't working yet
|
||||
|
||||
ret mangle(path + ~[hash]); // + "@" + vers;
|
||||
@ -459,7 +459,7 @@ fn mangle_internal_name_by_path_and_seq(ccx: &@crate_ctxt, path: &[str],
|
||||
ret mangle(path + ~[ccx.names.next(flav)]);
|
||||
}
|
||||
|
||||
fn mangle_internal_name_by_path(ccx: &@crate_ctxt, path: &[str]) -> str {
|
||||
fn mangle_internal_name_by_path(_ccx: &@crate_ctxt, path: &[str]) -> str {
|
||||
ret mangle(path);
|
||||
}
|
||||
|
||||
|
@ -50,23 +50,23 @@ type upcalls =
|
||||
dynastack_alloc: ValueRef,
|
||||
dynastack_free: ValueRef};
|
||||
|
||||
fn declare_upcalls(tn: type_names, tydesc_type: TypeRef,
|
||||
fn declare_upcalls(_tn: type_names, tydesc_type: TypeRef,
|
||||
taskptr_type: TypeRef, llmod: ModuleRef) -> @upcalls {
|
||||
fn decl(tn: type_names, llmod: ModuleRef, name: str, tys: [TypeRef],
|
||||
fn decl(llmod: ModuleRef, name: str, tys: [TypeRef],
|
||||
rv: TypeRef) -> ValueRef {
|
||||
let arg_tys: [TypeRef] = ~[];
|
||||
for t: TypeRef in tys { arg_tys += ~[t]; }
|
||||
let fn_ty = T_fn(arg_tys, rv);
|
||||
ret trans::decl_cdecl_fn(llmod, "upcall_" + name, fn_ty);
|
||||
}
|
||||
fn decl_with_taskptr(taskptr_type: TypeRef, tn: type_names,
|
||||
fn decl_with_taskptr(taskptr_type: TypeRef,
|
||||
llmod: ModuleRef, name: str, tys: [TypeRef],
|
||||
rv: TypeRef) -> ValueRef {
|
||||
ret decl(tn, llmod, name, ~[taskptr_type] + tys, rv);
|
||||
ret decl(llmod, name, ~[taskptr_type] + tys, rv);
|
||||
}
|
||||
let dv = bind decl_with_taskptr(taskptr_type, tn, llmod, _, _, T_void());
|
||||
let d = bind decl_with_taskptr(taskptr_type, tn, llmod, _, _, _);
|
||||
let dr = bind decl(tn, llmod, _, _, _);
|
||||
let dv = bind decl_with_taskptr(taskptr_type, llmod, _, _, T_void());
|
||||
let d = bind decl_with_taskptr(taskptr_type, llmod, _, _, _);
|
||||
let dr = bind decl(llmod, _, _, _);
|
||||
|
||||
let empty_vec: [TypeRef] = ~[];
|
||||
ret @{grow_task: dv("grow_task", ~[T_size_t()]),
|
||||
|
@ -51,7 +51,8 @@ fn modify_for_testing(crate: @ast::crate) -> @ast::crate {
|
||||
ret res;
|
||||
}
|
||||
|
||||
fn fold_mod(cx: &test_ctxt, m: &ast::_mod, fld: fold::ast_fold) -> ast::_mod {
|
||||
fn fold_mod(_cx: &test_ctxt, m: &ast::_mod, fld: fold::ast_fold)
|
||||
-> ast::_mod {
|
||||
|
||||
// Remove any defined main function from the AST so it doesn't clash with
|
||||
// the one we're going to add. FIXME: This is sloppy. Instead we should
|
||||
|
@ -1264,7 +1264,7 @@ obj builder(B: BuilderRef, terminated: @mutable bool,
|
||||
ret llvm::LLVMBuildTruncOrBitCast(B, Val, DestTy, str::buf(""));
|
||||
}
|
||||
|
||||
fn Cast(Op: Opcode, Val: ValueRef, DestTy: TypeRef, Name: sbuf) ->
|
||||
fn Cast(Op: Opcode, Val: ValueRef, DestTy: TypeRef, _Name: sbuf) ->
|
||||
ValueRef {
|
||||
assert (!*terminated);
|
||||
ret llvm::LLVMBuildCast(B, Op, Val, DestTy, str::buf(""));
|
||||
|
@ -224,7 +224,7 @@ fn get_symbol(data: @[u8], id: ast::node_id) -> str {
|
||||
ret item_symbol(lookup_item(id, data));
|
||||
}
|
||||
|
||||
fn get_tag_variants(data: &@[u8], def: ast::def_id, tcx: &ty::ctxt,
|
||||
fn get_tag_variants(_data: &@[u8], def: ast::def_id, tcx: &ty::ctxt,
|
||||
extres: &external_resolver) -> [ty::variant_info] {
|
||||
let external_crate_id = def.crate;
|
||||
let data =
|
||||
|
@ -39,7 +39,7 @@ fn parse_ident(st: @pstate, sd: str_def, last: char) -> ast::ident {
|
||||
ret parse_ident_(st, sd, bind is_last(last, _));
|
||||
}
|
||||
|
||||
fn parse_ident_(st: @pstate, sd: str_def, is_last: fn(char) -> bool ) ->
|
||||
fn parse_ident_(st: @pstate, _sd: str_def, is_last: fn(char) -> bool ) ->
|
||||
ast::ident {
|
||||
let rslt = "";
|
||||
while !is_last(peek(st) as char) {
|
||||
@ -117,7 +117,7 @@ fn parse_path(st: @pstate, sd: str_def) -> ast::path {
|
||||
|
||||
type arg_parser<T> = fn(@pstate, str_def) -> ast::constr_arg_general_<T> ;
|
||||
|
||||
fn parse_constr_arg(st: @pstate, sd: str_def) -> ast::fn_constr_arg {
|
||||
fn parse_constr_arg(st: @pstate, _sd: str_def) -> ast::fn_constr_arg {
|
||||
alt peek(st) as char {
|
||||
'*' { st.pos += 1u; ret ast::carg_base; }
|
||||
c {
|
||||
|
@ -51,8 +51,8 @@ fn check_crate(tcx: ty::ctxt, crate: &@ast::crate) {
|
||||
tcx.sess.abort_if_errors();
|
||||
}
|
||||
|
||||
fn visit_fn(cx: &@ctx, f: &ast::_fn, tp: &[ast::ty_param], sp: &span,
|
||||
name: &fn_ident, id: ast::node_id, sc: &scope, v: &vt<scope>) {
|
||||
fn visit_fn(cx: &@ctx, f: &ast::_fn, _tp: &[ast::ty_param], _sp: &span,
|
||||
_name: &fn_ident, id: ast::node_id, sc: &scope, v: &vt<scope>) {
|
||||
visit::visit_fn_decl(f.decl, sc, v);
|
||||
for arg_: ast::arg in f.decl.inputs {
|
||||
cx.local_map.insert(arg_.id, arg(arg_.mode));
|
||||
|
@ -87,7 +87,7 @@ fn new_smallintmap_adapter<@K,
|
||||
ret smallintmap::find(map, key_idx(key));
|
||||
}
|
||||
|
||||
fn remove(key: &K) -> option::t<V> { fail }
|
||||
fn remove(_key: &K) -> option::t<V> { fail }
|
||||
|
||||
fn rehash() { fail }
|
||||
|
||||
|
@ -44,8 +44,8 @@ fn collect_freevars(def_map: &resolve::def_map, sess: &session::session,
|
||||
for decl: ast::node_id in initial_decls { set_add(decls, decl); }
|
||||
let refs = @mutable ~[];
|
||||
|
||||
let walk_fn = lambda(f: &ast::_fn, tps: &[ast::ty_param], sp: &span,
|
||||
i: &ast::fn_ident, nid: ast::node_id) {
|
||||
let walk_fn = lambda(f: &ast::_fn, _tps: &[ast::ty_param], _sp: &span,
|
||||
_i: &ast::fn_ident, _nid: ast::node_id) {
|
||||
for a: ast::arg in f.decl.inputs { set_add(decls, a.id); }
|
||||
};
|
||||
let walk_expr = lambda(expr: &@ast::expr) {
|
||||
|
@ -169,7 +169,7 @@ fn map_crate(e: &@env, c: &@ast::crate) {
|
||||
index: index_mod(c.node.module),
|
||||
mutable glob_imports: ~[],
|
||||
glob_imported_names: new_str_hash::<import_state>()});
|
||||
fn index_vi(e: @env, i: &@ast::view_item, sc: &scopes, v: &vt<scopes>) {
|
||||
fn index_vi(e: @env, i: &@ast::view_item, sc: &scopes, _v: &vt<scopes>) {
|
||||
alt i.node {
|
||||
ast::view_item_import(name, ids, id) {
|
||||
e.imports.insert(id, todo(id, name, ids, i.span, sc));
|
||||
@ -215,7 +215,8 @@ fn map_crate(e: &@env, c: &@ast::crate) {
|
||||
with *visit::default_visitor::<scopes>()};
|
||||
visit::visit_crate(*c, cons(scope_crate, @nil),
|
||||
visit::mk_vt(v_link_glob));
|
||||
fn link_glob(e: @env, vi: &@ast::view_item, sc: &scopes, v: &vt<scopes>) {
|
||||
fn link_glob(e: @env, vi: &@ast::view_item, sc: &scopes,
|
||||
_v: &vt<scopes>) {
|
||||
fn find_mod(e: @env, sc: scopes) -> @indexed_mod {
|
||||
alt sc {
|
||||
cons(scope_item(i), tl) {
|
||||
@ -267,7 +268,7 @@ fn resolve_names(e: &@env, c: &@ast::crate) {
|
||||
visit_item: visit_item_with_scope,
|
||||
visit_block: visit_block_with_scope,
|
||||
visit_decl: visit_decl_with_scope,
|
||||
visit_arm: bind walk_arm(e, _, _, _),
|
||||
visit_arm: walk_arm,
|
||||
visit_pat: bind walk_pat(e, _, _, _),
|
||||
visit_expr: bind walk_expr(e, _, _, _),
|
||||
visit_ty: bind walk_ty(e, _, _, _),
|
||||
@ -299,10 +300,10 @@ fn resolve_names(e: &@env, c: &@ast::crate) {
|
||||
}
|
||||
}
|
||||
fn walk_constr(e: @env, p: &ast::path, sp: &span, id: node_id,
|
||||
sc: &scopes, v: &vt<scopes>) {
|
||||
sc: &scopes, _v: &vt<scopes>) {
|
||||
maybe_insert(e, id, lookup_path_strict(*e, sc, sp, p.node, ns_value));
|
||||
}
|
||||
fn walk_arm(e: @env, a: &ast::arm, sc: &scopes, v: &vt<scopes>) {
|
||||
fn walk_arm(a: &ast::arm, sc: &scopes, v: &vt<scopes>) {
|
||||
visit_arm_with_scope(a, sc, v);
|
||||
}
|
||||
fn walk_pat(e: &@env, pat: &@ast::pat, sc: &scopes, v: &vt<scopes>) {
|
||||
@ -359,7 +360,7 @@ fn visit_fn_with_scope(e: &@env, f: &ast::_fn, tp: &[ast::ty_param],
|
||||
// for f's constrs in the table.
|
||||
|
||||
for c: @ast::constr in f.decl.constraints {
|
||||
resolve_constr(e, id, c, sc, v);
|
||||
resolve_constr(e, c, sc, v);
|
||||
}
|
||||
visit::visit_fn(f, tp, sp, name, id,
|
||||
cons(scope_fn(f.decl, f.proto, tp), @sc), v);
|
||||
@ -436,8 +437,7 @@ fn follow_import(e: &env, sc: &scopes, path: &[ident], sp: &span) ->
|
||||
} else { ret none; }
|
||||
}
|
||||
|
||||
fn resolve_constr(e: @env, id: node_id, c: &@ast::constr, sc: &scopes,
|
||||
v: &vt<scopes>) {
|
||||
fn resolve_constr(e: @env, c: &@ast::constr, sc: &scopes, _v: &vt<scopes>) {
|
||||
let new_def =
|
||||
lookup_path_strict(*e, sc, c.span, c.node.path.node, ns_value);
|
||||
if option::is_some(new_def) {
|
||||
@ -921,7 +921,7 @@ fn lookup_in_mod(e: &env, m: &def, sp: &span, name: &ident, ns: namespace,
|
||||
}
|
||||
}
|
||||
|
||||
fn found_view_item(e: &env, vi: @ast::view_item, ns: namespace) ->
|
||||
fn found_view_item(e: &env, vi: @ast::view_item) ->
|
||||
option::t<def> {
|
||||
alt vi.node {
|
||||
ast::view_item_use(_, _, id) {
|
||||
@ -1040,7 +1040,9 @@ fn lookup_glob_in_mod(e: &env, info: @indexed_mod, sp: &span, id: &ident,
|
||||
fn lookup_in_mie(e: &env, mie: &mod_index_entry, ns: namespace) ->
|
||||
option::t<def> {
|
||||
alt mie {
|
||||
mie_view_item(view_item) { ret found_view_item(e, view_item, ns); }
|
||||
mie_view_item(view_item) {
|
||||
if ns == ns_module { ret found_view_item(e, view_item); }
|
||||
}
|
||||
mie_import_ident(id, _) { ret lookup_import(e, local_def(id), ns); }
|
||||
mie_item(item) { ret found_def_item(item, ns); }
|
||||
mie_tag_variant(item, variant_idx) {
|
||||
|
@ -231,15 +231,15 @@ fn tag_kind(ccx : &@crate_ctxt, did : &ast::def_id) -> tag_kind {
|
||||
|
||||
|
||||
// Returns the code corresponding to the pointer size on this architecture.
|
||||
fn s_int(tcx : &ty_ctxt) -> u8 {
|
||||
fn s_int(_tcx : &ty_ctxt) -> u8 {
|
||||
ret shape_i32; // TODO: x86-64
|
||||
}
|
||||
|
||||
fn s_uint(tcx : &ty_ctxt) -> u8 {
|
||||
fn s_uint(_tcx : &ty_ctxt) -> u8 {
|
||||
ret shape_u32; // TODO: x86-64
|
||||
}
|
||||
|
||||
fn s_float(tcx : &ty_ctxt) -> u8 {
|
||||
fn s_float(_tcx : &ty_ctxt) -> u8 {
|
||||
ret shape_f64; // TODO: x86-64
|
||||
}
|
||||
|
||||
|
@ -387,9 +387,8 @@ fn get_simple_extern_fn(externs: &hashmap<str, ValueRef>, llmod: ModuleRef,
|
||||
ret get_extern_fn(externs, llmod, name, lib::llvm::LLVMCCallConv, t);
|
||||
}
|
||||
|
||||
fn trans_native_call(b: &builder, glues: @glue_fns, lltaskptr: ValueRef,
|
||||
externs: &hashmap<str, ValueRef>, tn: &type_names,
|
||||
llmod: ModuleRef, name: &str, pass_task: bool,
|
||||
fn trans_native_call(b: &builder, externs: &hashmap<str, ValueRef>,
|
||||
llmod: ModuleRef, name: &str,
|
||||
args: &[ValueRef]) -> ValueRef {
|
||||
let n: int = std::vec::len::<ValueRef>(args) as int;
|
||||
let llnative: ValueRef = get_simple_extern_fn(externs, llmod, name, n);
|
||||
@ -1933,7 +1932,7 @@ fn iter_sequence_inner(cx: &@block_ctxt, src: ValueRef,
|
||||
elt_ty: & // elt*
|
||||
ty::t, f: &val_and_ty_fn) -> result {
|
||||
fn adaptor_fn(f: val_and_ty_fn, elt_ty: ty::t, cx: &@block_ctxt,
|
||||
dst: ValueRef, src: ValueRef) -> result {
|
||||
_dst: ValueRef, src: ValueRef) -> result {
|
||||
let llptrty;
|
||||
if !ty::type_has_dynamic_size(bcx_tcx(cx), elt_ty) {
|
||||
let llty = type_of(bcx_ccx(cx), cx.sp, elt_ty);
|
||||
@ -2537,7 +2536,7 @@ fn trans_unary(cx: &@block_ctxt, op: ast::unop, e: &@ast::expr,
|
||||
}
|
||||
|
||||
fn trans_compare(cx: &@block_ctxt, op: ast::binop,
|
||||
lhs: ValueRef, lhs_t: ty::t, rhs: ValueRef,
|
||||
lhs: ValueRef, _lhs_t: ty::t, rhs: ValueRef,
|
||||
rhs_t: ty::t) -> result {
|
||||
// Determine the operation we need.
|
||||
let llop;
|
||||
@ -3398,8 +3397,8 @@ fn join_branches(parent_cx: &@block_ctxt, ins: &[result]) -> @block_ctxt {
|
||||
tag out_method { return; save_in(ValueRef); }
|
||||
|
||||
fn trans_if(cx: &@block_ctxt, cond: &@ast::expr, thn: &ast::blk,
|
||||
els: &option::t<@ast::expr>, id: ast::node_id,
|
||||
output: &out_method) -> result {
|
||||
els: &option::t<@ast::expr>, output: &out_method)
|
||||
-> result {
|
||||
let cond_res = trans_expr(cx, cond);
|
||||
|
||||
if (ty::type_is_bot(bcx_tcx(cx), ty::expr_ty(bcx_tcx(cx), cond))) {
|
||||
@ -3866,8 +3865,7 @@ fn lval_generic_fn(cx: &@block_ctxt, tpt: &ty::ty_param_kinds_and_ty,
|
||||
ret lv;
|
||||
}
|
||||
|
||||
fn lookup_discriminant(lcx: &@local_ctxt, tid: &ast::def_id,
|
||||
vid: &ast::def_id) -> ValueRef {
|
||||
fn lookup_discriminant(lcx: &@local_ctxt, vid: &ast::def_id) -> ValueRef {
|
||||
alt lcx.ccx.discrims.find(vid.node) {
|
||||
none. {
|
||||
// It's an external discriminant that we haven't seen yet.
|
||||
@ -3929,7 +3927,7 @@ fn trans_var(cx: &@block_ctxt, sp: &span, id: ast::node_id) ->
|
||||
let bcx = alloc_result.bcx;
|
||||
let lltagptr = bcx.build.PointerCast(lltagblob, T_ptr(lltagty));
|
||||
if std::vec::len(ty::tag_variants(ccx.tcx, tid)) != 1u {
|
||||
let lldiscrim_gv = lookup_discriminant(bcx.fcx.lcx, tid, vid);
|
||||
let lldiscrim_gv = lookup_discriminant(bcx.fcx.lcx, vid);
|
||||
let lldiscrim = bcx.build.Load(lldiscrim_gv);
|
||||
let lldiscrimptr =
|
||||
bcx.build.GEP(lltagptr, ~[C_int(0), C_int(0)]);
|
||||
@ -3968,7 +3966,7 @@ fn trans_path(cx: &@block_ctxt, p: &ast::path, id: ast::node_id) ->
|
||||
}
|
||||
|
||||
fn trans_field(cx: &@block_ctxt, sp: &span, v: ValueRef, t0: &ty::t,
|
||||
field: &ast::ident, id: ast::node_id) -> lval_result {
|
||||
field: &ast::ident) -> lval_result {
|
||||
let r = autoderef(cx, v, t0);
|
||||
let t = r.ty;
|
||||
alt ty::struct(bcx_tcx(cx), t) {
|
||||
@ -4085,7 +4083,7 @@ fn trans_lval_gen(cx: &@block_ctxt, e: &@ast::expr) -> lval_result {
|
||||
ast::expr_field(base, ident) {
|
||||
let r = trans_expr(cx, base);
|
||||
let t = ty::expr_ty(bcx_tcx(cx), base);
|
||||
ret trans_field(r.bcx, e.span, r.val, t, ident, e.id);
|
||||
ret trans_field(r.bcx, e.span, r.val, t, ident);
|
||||
}
|
||||
ast::expr_index(base, idx) {
|
||||
ret trans_index(cx, e.span, base, idx, e.id);
|
||||
@ -4123,7 +4121,7 @@ fn trans_lval_gen(cx: &@block_ctxt, e: &@ast::expr) -> lval_result {
|
||||
some(pair) {
|
||||
let r = pair.v;
|
||||
let t = pair.t;
|
||||
ret trans_field(cx, e.span, r, t, ident, e.id);
|
||||
ret trans_field(cx, e.span, r, t, ident);
|
||||
}
|
||||
_ {
|
||||
// Shouldn't happen.
|
||||
@ -4237,8 +4235,7 @@ fn trans_cast(cx: &@block_ctxt, e: &@ast::expr, id: ast::node_id) -> result {
|
||||
|
||||
fn trans_bind_thunk(cx: &@local_ctxt, sp: &span, incoming_fty: &ty::t,
|
||||
outgoing_fty: &ty::t, args: &[option::t<@ast::expr>],
|
||||
env_ty: &ty::t, bound_tys: &[ty::t],
|
||||
ty_param_count: uint,
|
||||
env_ty: &ty::t, ty_param_count: uint,
|
||||
target_fn: &option::t<ValueRef>) ->
|
||||
{val: ValueRef, ty: TypeRef} {
|
||||
|
||||
@ -4494,7 +4491,7 @@ fn trans_bind_1(cx: &@block_ctxt, f: &@ast::expr, f_res: &lval_result,
|
||||
let pair_ty = node_id_type(bcx_ccx(cx), id);
|
||||
let llthunk =
|
||||
trans_bind_thunk(cx.fcx.lcx, cx.sp, pair_ty, outgoing_fty_real,
|
||||
args, closure.ptrty, bound_tys, ty_param_count,
|
||||
args, closure.ptrty, ty_param_count,
|
||||
target_res);
|
||||
|
||||
// Construct the function pair
|
||||
@ -4994,11 +4991,11 @@ fn trans_expr_out(cx: &@block_ctxt, e: &@ast::expr, output: out_method) ->
|
||||
}
|
||||
ast::expr_binary(op, x, y) { ret trans_binary(cx, op, x, y); }
|
||||
ast::expr_if(cond, thn, els) {
|
||||
ret with_out_method(bind trans_if(cx, cond, thn, els, e.id, _), cx,
|
||||
ret with_out_method(bind trans_if(cx, cond, thn, els, _), cx,
|
||||
e.id, output);
|
||||
}
|
||||
ast::expr_if_check(cond, thn, els) {
|
||||
ret with_out_method(bind trans_if(cx, cond, thn, els, e.id, _), cx,
|
||||
ret with_out_method(bind trans_if(cx, cond, thn, els, _), cx,
|
||||
e.id, output);
|
||||
}
|
||||
ast::expr_ternary(_, _, _) {
|
||||
@ -5011,8 +5008,8 @@ fn trans_expr_out(cx: &@block_ctxt, e: &@ast::expr, output: out_method) ->
|
||||
ast::expr_while(cond, body) { ret trans_while(cx, cond, body); }
|
||||
ast::expr_do_while(body, cond) { ret trans_do_while(cx, body, cond); }
|
||||
ast::expr_alt(expr, arms) {
|
||||
ret with_out_method(bind trans_alt::trans_alt(cx, expr, arms, e.id,
|
||||
_), cx, e.id, output);
|
||||
ret with_out_method(bind trans_alt::trans_alt(cx, expr, arms, _),
|
||||
cx, e.id, output);
|
||||
}
|
||||
ast::expr_fn(f) {
|
||||
let ccx = bcx_ccx(cx);
|
||||
@ -5911,8 +5908,7 @@ fn create_llargs_for_fn_args(cx: &@fn_ctxt, proto: ast::proto,
|
||||
}
|
||||
}
|
||||
|
||||
fn copy_args_to_allocas(fcx: @fn_ctxt, args: &[ast::arg],
|
||||
arg_tys: &[ty::arg]) {
|
||||
fn copy_args_to_allocas(fcx: @fn_ctxt, args: &[ast::arg]) {
|
||||
let bcx = new_raw_block_ctxt(fcx, fcx.llcopyargs);
|
||||
let arg_n: uint = 0u;
|
||||
for aarg: ast::arg in args {
|
||||
@ -6050,7 +6046,7 @@ fn trans_closure(bcx_maybe: &option::t<@block_ctxt>,
|
||||
_ { }
|
||||
}
|
||||
let arg_tys = arg_tys_of_fn(fcx.lcx.ccx, id);
|
||||
copy_args_to_allocas(fcx, f.decl.inputs, arg_tys);
|
||||
copy_args_to_allocas(fcx, f.decl.inputs);
|
||||
|
||||
// Figure out if we need to build a closure and act accordingly
|
||||
let res = alt f.proto {
|
||||
@ -6203,7 +6199,7 @@ fn trans_tag_variant(cx: @local_ctxt, tag_id: ast::node_id,
|
||||
i += 1u;
|
||||
}
|
||||
let arg_tys = arg_tys_of_fn(cx.ccx, variant.node.id);
|
||||
copy_args_to_allocas(fcx, fn_args, arg_tys);
|
||||
copy_args_to_allocas(fcx, fn_args);
|
||||
let bcx = new_top_block_ctxt(fcx);
|
||||
let lltop = bcx.llbb;
|
||||
|
||||
@ -6356,7 +6352,7 @@ fn decl_fn_and_pair(ccx: &@crate_ctxt, sp: &span, path: &[str], flav: str,
|
||||
}
|
||||
|
||||
fn decl_fn_and_pair_full(ccx: &@crate_ctxt, sp: &span, path: &[str],
|
||||
flav: str, ty_params: &[ast::ty_param],
|
||||
_flav: str, ty_params: &[ast::ty_param],
|
||||
node_id: ast::node_id, node_type: ty::t) {
|
||||
let llfty = type_of_fn_from_ty(ccx, sp, node_type,
|
||||
std::vec::len(ty_params));
|
||||
@ -6690,7 +6686,7 @@ fn decl_native_fn_and_pair(ccx: &@crate_ctxt, sp: &span, path: &[str],
|
||||
|
||||
fn trans_simple_native_abi(bcx: &@block_ctxt, name: str,
|
||||
call_args: &mutable [ValueRef], fn_type: ty::t,
|
||||
first_arg_n: uint, uses_retptr: bool, cc: uint)
|
||||
uses_retptr: bool, cc: uint)
|
||||
-> {val: ValueRef, rptr: ValueRef} {
|
||||
let call_arg_tys: [TypeRef] = ~[];
|
||||
for arg: ValueRef in call_args { call_arg_tys += ~[val_ty(arg)]; }
|
||||
@ -6738,7 +6734,7 @@ fn decl_native_fn_and_pair(ccx: &@crate_ctxt, sp: &span, path: &[str],
|
||||
alt abi {
|
||||
ast::native_abi_llvm. {
|
||||
let result =
|
||||
trans_simple_native_abi(bcx, name, call_args, fn_type, arg_n,
|
||||
trans_simple_native_abi(bcx, name, call_args, fn_type,
|
||||
uses_retptr, lib::llvm::LLVMCCallConv);
|
||||
r = result.val;
|
||||
rptr = result.rptr;
|
||||
@ -6747,14 +6743,13 @@ fn decl_native_fn_and_pair(ccx: &@crate_ctxt, sp: &span, path: &[str],
|
||||
let external_name = "rust_intrinsic_" + name;
|
||||
let result =
|
||||
trans_simple_native_abi(bcx, external_name, call_args, fn_type,
|
||||
arg_n, uses_retptr,
|
||||
lib::llvm::LLVMCCallConv);
|
||||
uses_retptr, lib::llvm::LLVMCCallConv);
|
||||
r = result.val;
|
||||
rptr = result.rptr;
|
||||
}
|
||||
ast::native_abi_x86stdcall. {
|
||||
let result =
|
||||
trans_simple_native_abi(bcx, name, call_args, fn_type, arg_n,
|
||||
trans_simple_native_abi(bcx, name, call_args, fn_type,
|
||||
uses_retptr,
|
||||
lib::llvm::LLVMX86StdcallCallConv);
|
||||
r = result.val;
|
||||
@ -6762,8 +6757,8 @@ fn decl_native_fn_and_pair(ccx: &@crate_ctxt, sp: &span, path: &[str],
|
||||
}
|
||||
_ {
|
||||
r =
|
||||
trans_native_call(bcx.build, ccx.glues, lltaskptr, ccx.externs,
|
||||
ccx.tn, ccx.llmod, name, pass_task, call_args);
|
||||
trans_native_call(bcx.build, ccx.externs,
|
||||
ccx.llmod, name, call_args);
|
||||
rptr = bcx.build.BitCast(fcx.llretptr, T_ptr(T_i32()));
|
||||
}
|
||||
}
|
||||
@ -6783,7 +6778,7 @@ fn decl_native_fn_and_pair(ccx: &@crate_ctxt, sp: &span, path: &[str],
|
||||
fn item_path(item: &@ast::item) -> [str] { ret ~[item.ident]; }
|
||||
|
||||
fn collect_native_item(ccx: @crate_ctxt, i: &@ast::native_item, pt: &[str],
|
||||
v: &vt<[str]>) {
|
||||
_v: &vt<[str]>) {
|
||||
alt i.node {
|
||||
ast::native_item_fn(_, _, _) {
|
||||
if !ccx.obj_methods.contains_key(i.id) {
|
||||
|
@ -460,7 +460,7 @@ fn make_phi_bindings(bcx: &@block_ctxt, map: &[exit_node],
|
||||
}
|
||||
|
||||
fn trans_alt(cx: &@block_ctxt, expr: &@ast::expr, arms: &[ast::arm],
|
||||
id: ast::node_id, output: &trans::out_method) -> result {
|
||||
output: &trans::out_method) -> result {
|
||||
let bodies = ~[];
|
||||
let match: match = ~[];
|
||||
let er = trans::trans_expr(cx, expr);
|
||||
|
@ -692,12 +692,12 @@ fn T_str() -> TypeRef { ret T_vec(T_i8()); }
|
||||
|
||||
fn T_box(t: TypeRef) -> TypeRef { ret T_struct(~[T_int(), t]); }
|
||||
|
||||
fn T_port(t: TypeRef) -> TypeRef {
|
||||
fn T_port(_t: TypeRef) -> TypeRef {
|
||||
ret T_struct(~[T_int()]); // Refcount
|
||||
|
||||
}
|
||||
|
||||
fn T_chan(t: TypeRef) -> TypeRef {
|
||||
fn T_chan(_t: TypeRef) -> TypeRef {
|
||||
ret T_struct(~[T_int()]); // Refcount
|
||||
|
||||
}
|
||||
|
@ -55,7 +55,7 @@ fn trans_obj(cx: @local_ctxt, sp: &span, ob: &ast::_obj,
|
||||
ty::ret_ty_of_fn(ccx.tcx, ctor_id), fn_args,
|
||||
ty_params);
|
||||
let arg_tys: [ty::arg] = arg_tys_of_fn(ccx, ctor_id);
|
||||
copy_args_to_allocas(fcx, fn_args, arg_tys);
|
||||
copy_args_to_allocas(fcx, fn_args);
|
||||
|
||||
// Create the first block context in the function and keep a handle on it
|
||||
// to pass to finish_fn later.
|
||||
@ -601,7 +601,7 @@ fn finish_vtbl(cx: @local_ctxt, llmethods: [ValueRef], name: str)
|
||||
// returns the value returned from that call.
|
||||
fn process_bkwding_mthd(cx: @local_ctxt, sp: &span, m: @ty::method,
|
||||
ty_params: &[ast::ty_param], outer_obj_ty: ty::t,
|
||||
additional_field_tys: &[ty::t]) -> ValueRef {
|
||||
_additional_field_tys: &[ty::t]) -> ValueRef {
|
||||
|
||||
// Create a local context that's aware of the name of the method we're
|
||||
// creating.
|
||||
|
@ -740,7 +740,7 @@ fn find_instance_(pattern: &[constr_arg_general_<inst>],
|
||||
type inst = {ident: ident, node: node_id};
|
||||
type subst = [{from: inst, to: inst}];
|
||||
|
||||
fn find_instances(fcx: &fn_ctxt, subst: &subst, c: &constraint) ->
|
||||
fn find_instances(_fcx: &fn_ctxt, subst: &subst, c: &constraint) ->
|
||||
[{from: uint, to: uint}] {
|
||||
|
||||
let rslt = ~[];
|
||||
@ -996,7 +996,7 @@ fn any_eq(v: &[node_id], d: node_id) -> bool {
|
||||
false
|
||||
}
|
||||
|
||||
fn constraint_mentions(fcx: &fn_ctxt, c: &norm_constraint, v: node_id) ->
|
||||
fn constraint_mentions(_fcx: &fn_ctxt, c: &norm_constraint, v: node_id) ->
|
||||
bool {
|
||||
ret alt c.c.node {
|
||||
ninit(id, _) { v == id }
|
||||
@ -1004,7 +1004,7 @@ fn constraint_mentions(fcx: &fn_ctxt, c: &norm_constraint, v: node_id) ->
|
||||
};
|
||||
}
|
||||
|
||||
fn non_init_constraint_mentions(fcx: &fn_ctxt, c: &norm_constraint,
|
||||
fn non_init_constraint_mentions(_fcx: &fn_ctxt, c: &norm_constraint,
|
||||
v: &node_id) -> bool {
|
||||
ret alt c.c.node {
|
||||
ninit(_, _) { false }
|
||||
@ -1051,8 +1051,8 @@ fn op_to_oper_ty(io: init_op) -> oper_type {
|
||||
}
|
||||
|
||||
// default function visitor
|
||||
fn do_nothing<T>(f: &_fn, tp: &[ty_param], sp: &span, i: &fn_ident,
|
||||
iid: node_id, cx: &T, v: &visit::vt<T>) {
|
||||
fn do_nothing<T>(_f: &_fn, _tp: &[ty_param], _sp: &span, _i: &fn_ident,
|
||||
_iid: node_id, _cx: &T, _v: &visit::vt<T>) {
|
||||
}
|
||||
|
||||
|
||||
|
@ -165,8 +165,8 @@ fn relax_precond_block(fcx: &fn_ctxt, i: node_id, b:&blk) {
|
||||
@{visit_block: relax_precond_block_inner,
|
||||
visit_expr: relax_precond_expr,
|
||||
visit_stmt: relax_precond_stmt,
|
||||
visit_item: (fn (i: &@item, cx: &relax_ctxt,
|
||||
vt: &visit::vt<relax_ctxt>) {})
|
||||
visit_item: (fn (_i: &@item, _cx: &relax_ctxt,
|
||||
_vt: &visit::vt<relax_ctxt>) {})
|
||||
with *visitor};
|
||||
let v1 = visit::mk_vt(visitor);
|
||||
v1.visit_block(b, cx, v1);
|
||||
|
@ -45,12 +45,12 @@ import util::common::log_block;
|
||||
import syntax::codemap::span;
|
||||
import util::ppaux::fn_ident_to_string;
|
||||
|
||||
fn find_pre_post_mod(m: &_mod) -> _mod {
|
||||
fn find_pre_post_mod(_m: &_mod) -> _mod {
|
||||
log "implement find_pre_post_mod!";
|
||||
fail;
|
||||
}
|
||||
|
||||
fn find_pre_post_native_mod(m: &native_mod) -> native_mod {
|
||||
fn find_pre_post_native_mod(_m: &native_mod) -> native_mod {
|
||||
log "implement find_pre_post_native_mod";
|
||||
fail;
|
||||
}
|
||||
|
@ -421,7 +421,7 @@ fn mk_ctxt(s: session::session, dm: resolve::def_map, amap: ast_map::map,
|
||||
|
||||
|
||||
// Type constructors
|
||||
fn mk_raw_ty(cx: &ctxt, st: &sty, in_cname: &option::t<str>) -> @raw_t {
|
||||
fn mk_raw_ty(cx: &ctxt, st: &sty, _in_cname: &option::t<str>) -> @raw_t {
|
||||
let cname = none;
|
||||
let h = hash_type_info(st, cname);
|
||||
let has_params: bool = false;
|
||||
@ -516,19 +516,19 @@ fn gen_ty_full(cx: &ctxt, st: &sty, cname: &option::t<str>) -> t {
|
||||
// use the mk_foo() functions below.
|
||||
fn gen_ty(cx: &ctxt, st: &sty) -> t { ret gen_ty_full(cx, st, none); }
|
||||
|
||||
fn mk_nil(cx: &ctxt) -> t { ret idx_nil; }
|
||||
fn mk_nil(_cx: &ctxt) -> t { ret idx_nil; }
|
||||
|
||||
fn mk_bot(cx: &ctxt) -> t { ret idx_bot; }
|
||||
fn mk_bot(_cx: &ctxt) -> t { ret idx_bot; }
|
||||
|
||||
fn mk_bool(cx: &ctxt) -> t { ret idx_bool; }
|
||||
fn mk_bool(_cx: &ctxt) -> t { ret idx_bool; }
|
||||
|
||||
fn mk_int(cx: &ctxt) -> t { ret idx_int; }
|
||||
fn mk_int(_cx: &ctxt) -> t { ret idx_int; }
|
||||
|
||||
fn mk_float(cx: &ctxt) -> t { ret idx_float; }
|
||||
fn mk_float(_cx: &ctxt) -> t { ret idx_float; }
|
||||
|
||||
fn mk_uint(cx: &ctxt) -> t { ret idx_uint; }
|
||||
fn mk_uint(_cx: &ctxt) -> t { ret idx_uint; }
|
||||
|
||||
fn mk_mach(cx: &ctxt, tm: &ast::ty_mach) -> t {
|
||||
fn mk_mach(_cx: &ctxt, tm: &ast::ty_mach) -> t {
|
||||
alt tm {
|
||||
ast::ty_u8. { ret idx_u8; }
|
||||
ast::ty_u16. { ret idx_u16; }
|
||||
@ -543,11 +543,11 @@ fn mk_mach(cx: &ctxt, tm: &ast::ty_mach) -> t {
|
||||
}
|
||||
}
|
||||
|
||||
fn mk_char(cx: &ctxt) -> t { ret idx_char; }
|
||||
fn mk_char(_cx: &ctxt) -> t { ret idx_char; }
|
||||
|
||||
fn mk_str(cx: &ctxt) -> t { ret idx_str; }
|
||||
fn mk_str(_cx: &ctxt) -> t { ret idx_str; }
|
||||
|
||||
fn mk_istr(cx: &ctxt) -> t { ret idx_istr; }
|
||||
fn mk_istr(_cx: &ctxt) -> t { ret idx_istr; }
|
||||
|
||||
fn mk_tag(cx: &ctxt, did: &ast::def_id, tys: &[t]) -> t {
|
||||
ret gen_ty(cx, ty_tag(did, tys));
|
||||
@ -604,7 +604,7 @@ fn mk_param(cx: &ctxt, n: uint, k: ast::kind) -> t {
|
||||
ret gen_ty(cx, ty_param(n, k));
|
||||
}
|
||||
|
||||
fn mk_type(cx: &ctxt) -> t { ret idx_type; }
|
||||
fn mk_type(_cx: &ctxt) -> t { ret idx_type; }
|
||||
|
||||
fn mk_native(cx: &ctxt, did: &def_id) -> t { ret gen_ty(cx, ty_native(did)); }
|
||||
|
||||
@ -2208,7 +2208,7 @@ mod unify {
|
||||
fn_common_res_err(result);
|
||||
fn_common_res_ok([arg], t);
|
||||
}
|
||||
fn unify_fn_common(cx: &@ctxt, expected: &t, actual: &t,
|
||||
fn unify_fn_common(cx: &@ctxt, _expected: &t, _actual: &t,
|
||||
expected_inputs: &[arg], expected_output: &t,
|
||||
actual_inputs: &[arg], actual_output: &t) ->
|
||||
fn_common_res {
|
||||
@ -2251,7 +2251,7 @@ mod unify {
|
||||
expected: &t, actual: &t, expected_inputs: &[arg],
|
||||
expected_output: &t, actual_inputs: &[arg], actual_output: &t,
|
||||
expected_cf: &controlflow, actual_cf: &controlflow,
|
||||
expected_constrs: &[@constr], actual_constrs: &[@constr])
|
||||
_expected_constrs: &[@constr], actual_constrs: &[@constr])
|
||||
-> result {
|
||||
if e_proto != a_proto { ret ures_err(terr_mismatch); }
|
||||
alt expected_cf {
|
||||
@ -2858,7 +2858,7 @@ fn bind_params_in_type(sp: &span, cx: &ctxt, next_ty_var: fn() -> int ,
|
||||
let i = 0u;
|
||||
while i < ty_param_count { *param_var_ids += ~[next_ty_var()]; i += 1u; }
|
||||
fn binder(sp: span, cx: ctxt, param_var_ids: @mutable [int],
|
||||
next_ty_var: fn() -> int , index: uint, kind: ast::kind) -> t {
|
||||
_next_ty_var: fn() -> int , index: uint, _kind: ast::kind) -> t {
|
||||
if index < vec::len(*param_var_ids) {
|
||||
ret mk_var(cx, param_var_ids.(index));
|
||||
} else {
|
||||
@ -2878,8 +2878,8 @@ fn bind_params_in_type(sp: &span, cx: &ctxt, next_ty_var: fn() -> int ,
|
||||
// substitions.
|
||||
fn substitute_type_params(cx: &ctxt, substs: &[ty::t], typ: t) -> t {
|
||||
if !type_contains_params(cx, typ) { ret typ; }
|
||||
fn substituter(cx: ctxt, substs: @[ty::t], idx: uint,
|
||||
kind: ast::kind) -> t {
|
||||
fn substituter(_cx: ctxt, substs: @[ty::t], idx: uint,
|
||||
_kind: ast::kind) -> t {
|
||||
// FIXME: bounds check can fail
|
||||
ret substs.(idx);
|
||||
}
|
||||
|
@ -234,7 +234,7 @@ fn structure_of(fcx: &@fn_ctxt, sp: &span, typ: ty::t) -> ty::sty {
|
||||
|
||||
// Returns the one-level-deep structure of the given type or none if it
|
||||
// is not known yet.
|
||||
fn structure_of_maybe(fcx: &@fn_ctxt, sp: &span, typ: ty::t) ->
|
||||
fn structure_of_maybe(fcx: &@fn_ctxt, _sp: &span, typ: ty::t) ->
|
||||
option::t<ty::sty> {
|
||||
let r =
|
||||
ty::unify::resolve_type_structure(fcx.ccx.tcx, fcx.var_bindings, typ);
|
||||
@ -1040,7 +1040,7 @@ fn are_compatible(fcx: &@fn_ctxt, expected: &ty::t, actual: &ty::t) -> bool {
|
||||
|
||||
|
||||
// Returns the types of the arguments to a tag variant.
|
||||
fn variant_arg_types(ccx: &@crate_ctxt, sp: &span, vid: &ast::def_id,
|
||||
fn variant_arg_types(ccx: &@crate_ctxt, _sp: &span, vid: &ast::def_id,
|
||||
tag_ty_params: &[ty::t]) -> [ty::t] {
|
||||
let result: [ty::t] = ~[];
|
||||
let tpt = ty::lookup_item_type(ccx.tcx, vid);
|
||||
@ -1160,7 +1160,7 @@ mod writeback {
|
||||
}
|
||||
visit::visit_local(l, wbcx, v);
|
||||
}
|
||||
fn visit_item(item: &@ast::item, wbcx: &wb_ctxt, v: &wb_vt) {
|
||||
fn visit_item(_item: &@ast::item, _wbcx: &wb_ctxt, _v: &wb_vt) {
|
||||
// Ignore items
|
||||
}
|
||||
|
||||
@ -1282,10 +1282,10 @@ fn gather_locals(ccx: &@crate_ctxt, f: &ast::_fn, id: &ast::node_id,
|
||||
};
|
||||
|
||||
// Don't descend into fns and items
|
||||
fn visit_fn<E>(f: &ast::_fn, tp: &[ast::ty_param], sp: &span,
|
||||
i: &ast::fn_ident, id: ast::node_id, e: &E,
|
||||
v: &visit::vt<E>) { }
|
||||
fn visit_item<E>(i: &@ast::item, e: &E, v: &visit::vt<E>) { }
|
||||
fn visit_fn<E>(_f: &ast::_fn, _tp: &[ast::ty_param], _sp: &span,
|
||||
_i: &ast::fn_ident, _id: ast::node_id, _e: &E,
|
||||
_v: &visit::vt<E>) { }
|
||||
fn visit_item<E>(_i: &@ast::item, _e: &E, _v: &visit::vt<E>) { }
|
||||
|
||||
let visit =
|
||||
@{visit_local: visit_local,
|
||||
@ -1521,8 +1521,8 @@ type unifier = fn(fcx: &@fn_ctxt, sp: &span,
|
||||
expected: &ty::t, actual: &ty::t) -> ty::t;
|
||||
|
||||
fn check_expr(fcx: &@fn_ctxt, expr: &@ast::expr) -> bool {
|
||||
fn dummy_unify(fcx: &@fn_ctxt, sp: &span,
|
||||
expected: &ty::t, actual: &ty::t) -> ty::t {
|
||||
fn dummy_unify(_fcx: &@fn_ctxt, _sp: &span,
|
||||
_expected: &ty::t, actual: &ty::t) -> ty::t {
|
||||
actual
|
||||
}
|
||||
ret check_expr_with_unifier(fcx, expr, dummy_unify, 0u);
|
||||
@ -1639,7 +1639,7 @@ fn check_expr_with_unifier(fcx: &@fn_ctxt, expr: &@ast::expr,
|
||||
}
|
||||
|
||||
// A generic function for checking assignment expressions
|
||||
fn check_assignment(fcx: &@fn_ctxt, sp: &span, lhs: &@ast::expr,
|
||||
fn check_assignment(fcx: &@fn_ctxt, _sp: &span, lhs: &@ast::expr,
|
||||
rhs: &@ast::expr, id: &ast::node_id) -> bool {
|
||||
let t = next_ty_var(fcx);
|
||||
let bot = check_expr_with(fcx, lhs, t) | check_expr_with(fcx, rhs, t);
|
||||
@ -1749,7 +1749,7 @@ fn check_expr_with_unifier(fcx: &@fn_ctxt, expr: &@ast::expr,
|
||||
// or if-check
|
||||
fn check_then_else(fcx: &@fn_ctxt, thn: &ast::blk,
|
||||
elsopt: &option::t<@ast::expr>, id: ast::node_id,
|
||||
sp: &span) -> bool {
|
||||
_sp: &span) -> bool {
|
||||
let then_bot = check_block(fcx, thn);
|
||||
let els_bot = false;
|
||||
let if_t =
|
||||
@ -2561,7 +2561,7 @@ fn check_block(fcx: &@fn_ctxt, blk: &ast::blk) -> bool {
|
||||
ret bot;
|
||||
}
|
||||
|
||||
fn check_const(ccx: &@crate_ctxt, sp: &span, e: &@ast::expr,
|
||||
fn check_const(ccx: &@crate_ctxt, _sp: &span, e: &@ast::expr,
|
||||
id: &ast::node_id) {
|
||||
// FIXME: this is kinda a kludge; we manufacture a fake function context
|
||||
// and statement context for checking the initializer expression.
|
||||
|
@ -3,7 +3,7 @@ import base::*;
|
||||
import syntax::ast;
|
||||
|
||||
fn expand_syntax_ext(cx: &ext_ctxt, sp: codemap::span, arg: @ast::expr,
|
||||
body: option::t<str>) -> @ast::expr {
|
||||
_body: option::t<str>) -> @ast::expr {
|
||||
let args: [@ast::expr] = alt arg.node {
|
||||
ast::expr_vec(elts, _, _) { elts }
|
||||
_ { cx.span_fatal(sp, "#concat_idents requires a vector argument .") }
|
||||
|
@ -11,7 +11,7 @@ import base::*;
|
||||
export expand_syntax_ext;
|
||||
|
||||
fn expand_syntax_ext(cx: &ext_ctxt, sp: codemap::span, arg: @ast::expr,
|
||||
body: option::t<str>) -> @ast::expr {
|
||||
_body: option::t<str>) -> @ast::expr {
|
||||
let args: [@ast::expr] = alt arg.node {
|
||||
ast::expr_vec(elts, _, _) { elts }
|
||||
_ { cx.span_fatal(sp, "#env requires arguments of the form `[...]`.") }
|
||||
|
@ -16,7 +16,7 @@ import codemap::span;
|
||||
export expand_syntax_ext;
|
||||
|
||||
fn expand_syntax_ext(cx: &ext_ctxt, sp: span, arg: @ast::expr,
|
||||
body: option::t<str>) -> @ast::expr {
|
||||
_body: option::t<str>) -> @ast::expr {
|
||||
let args: [@ast::expr] = alt arg.node {
|
||||
ast::expr_vec(elts, _, _) { elts }
|
||||
_ { cx.span_fatal(sp, "#fmt requires arguments of the form `[...]`.") }
|
||||
|
@ -4,7 +4,7 @@ import base::*;
|
||||
import syntax::ast;
|
||||
|
||||
fn expand_syntax_ext(cx: &ext_ctxt, sp: codemap::span, arg: @ast::expr,
|
||||
body: option::t<str>) -> @ast::expr {
|
||||
_body: option::t<str>) -> @ast::expr {
|
||||
let args: [@ast::expr] = alt arg.node {
|
||||
ast::expr_vec(elts, _, _) { elts }
|
||||
_ { cx.span_fatal(sp, "#ident_to_str requires a vector argument .") }
|
||||
|
@ -3,7 +3,7 @@ import base::*;
|
||||
import syntax::ast;
|
||||
|
||||
fn expand_syntax_ext(cx: &ext_ctxt, sp: codemap::span, arg: @ast::expr,
|
||||
body: option::t<str>) -> @ast::expr {
|
||||
_body: option::t<str>) -> @ast::expr {
|
||||
|
||||
cx.print_backtrace();
|
||||
std::io::stdout().write_line(print::pprust::expr_to_str(arg));
|
||||
|
@ -159,7 +159,7 @@ type binders =
|
||||
mutable literal_ast_matchers: [selector]};
|
||||
type bindings = hashmap<ident, arb_depth<matchable>>;
|
||||
|
||||
fn acumm_bindings(cx: &ext_ctxt, b_dest: &bindings, b_src: &bindings) { }
|
||||
fn acumm_bindings(_cx: &ext_ctxt, _b_dest: &bindings, _b_src: &bindings) { }
|
||||
|
||||
/* these three functions are the big moving parts */
|
||||
|
||||
@ -204,7 +204,7 @@ fn use_selectors_to_bind(b: &binders, e: @expr) -> option::t<bindings> {
|
||||
|
||||
fn transcribe(cx: &ext_ctxt, b: &bindings, body: @expr) -> @expr {
|
||||
let idx_path: @mutable [uint] = @mutable ~[];
|
||||
fn new_id(old: node_id, cx: &ext_ctxt) -> node_id { ret cx.next_id(); }
|
||||
fn new_id(_old: node_id, cx: &ext_ctxt) -> node_id { ret cx.next_id(); }
|
||||
fn new_span(cx: &ext_ctxt, sp: &span) -> span {
|
||||
/* this discards information in the case of macro-defining macros */
|
||||
ret {lo: sp.lo, hi: sp.hi, expanded_from: cx.backtrace()};
|
||||
@ -263,7 +263,7 @@ fn follow_for_trans(cx: &ext_ctxt, mmaybe: &option::t<arb_depth<matchable>>,
|
||||
/* helper for transcribe_exprs: what vars from `b` occur in `e`? */
|
||||
iter free_vars(b: &bindings, e: @expr) -> ident {
|
||||
let idents: hashmap<ident, ()> = new_str_hash::<()>();
|
||||
fn mark_ident(i: &ident, fld: ast_fold, b: &bindings,
|
||||
fn mark_ident(i: &ident, _fld: ast_fold, b: &bindings,
|
||||
idents: &hashmap<ident, ()>) -> ident {
|
||||
if b.contains_key(i) { idents.insert(i, ()); }
|
||||
ret i;
|
||||
@ -344,7 +344,7 @@ fn transcribe_exprs(cx: &ext_ctxt, b: &bindings, idx_path: @mutable [uint],
|
||||
|
||||
// substitute, in a position that's required to be an ident
|
||||
fn transcribe_ident(cx: &ext_ctxt, b: &bindings, idx_path: @mutable [uint],
|
||||
i: &ident, fld: ast_fold) -> ident {
|
||||
i: &ident, _fld: ast_fold) -> ident {
|
||||
ret alt follow_for_trans(cx, b.find(i), idx_path) {
|
||||
some(match_ident(a_id)) { a_id.node }
|
||||
some(m) { match_error(cx, m, "an identifier") }
|
||||
@ -354,7 +354,7 @@ fn transcribe_ident(cx: &ext_ctxt, b: &bindings, idx_path: @mutable [uint],
|
||||
|
||||
|
||||
fn transcribe_path(cx: &ext_ctxt, b: &bindings, idx_path: @mutable [uint],
|
||||
p: &path_, fld: ast_fold) -> path_ {
|
||||
p: &path_, _fld: ast_fold) -> path_ {
|
||||
// Don't substitute into qualified names.
|
||||
if vec::len(p.types) > 0u || vec::len(p.idents) != 1u { ret p; }
|
||||
ret alt follow_for_trans(cx, b.find(p.idents.(0)), idx_path) {
|
||||
@ -631,7 +631,7 @@ fn p_t_s_r_ellipses(cx: &ext_ctxt, repeat_me: @expr, offset: uint,
|
||||
|
||||
fn p_t_s_r_length(cx: &ext_ctxt, len: uint, at_least: bool, s: selector,
|
||||
b: &binders) {
|
||||
fn len_select(cx: &ext_ctxt, m: &matchable, at_least: bool, len: uint)
|
||||
fn len_select(_cx: &ext_ctxt, m: &matchable, at_least: bool, len: uint)
|
||||
-> match_result {
|
||||
ret alt m {
|
||||
match_expr(e) {
|
||||
@ -652,7 +652,7 @@ fn p_t_s_r_length(cx: &ext_ctxt, len: uint, at_least: bool, s: selector,
|
||||
~[compose_sels(s, bind len_select(cx, _, at_least, len))];
|
||||
}
|
||||
|
||||
fn p_t_s_r_actual_vector(cx: &ext_ctxt, elts: [@expr], repeat_after: bool,
|
||||
fn p_t_s_r_actual_vector(cx: &ext_ctxt, elts: [@expr], _repeat_after: bool,
|
||||
s: &selector, b: &binders) {
|
||||
let idx: uint = 0u;
|
||||
while idx < vec::len(elts) {
|
||||
@ -676,7 +676,7 @@ fn p_t_s_r_actual_vector(cx: &ext_ctxt, elts: [@expr], repeat_after: bool,
|
||||
}
|
||||
|
||||
fn add_new_extension(cx: &ext_ctxt, sp: span, arg: @expr,
|
||||
body: option::t<str>) -> base::macro_def {
|
||||
_body: option::t<str>) -> base::macro_def {
|
||||
let args: [@ast::expr] = alt arg.node {
|
||||
ast::expr_vec(elts, _, _) { elts }
|
||||
_ {
|
||||
@ -753,7 +753,7 @@ fn add_new_extension(cx: &ext_ctxt, sp: span, arg: @expr,
|
||||
ext: normal(ext)};
|
||||
|
||||
fn generic_extension(cx: &ext_ctxt, sp: span, arg: @expr,
|
||||
body: option::t<str>, clauses: [@clause]) -> @expr {
|
||||
_body: option::t<str>, clauses: [@clause]) -> @expr {
|
||||
for c: @clause in clauses {
|
||||
alt use_selectors_to_bind(c.params, arg) {
|
||||
some(bindings) {
|
||||
|
@ -76,31 +76,31 @@ type a_f =
|
||||
|
||||
|
||||
//fn nf_dummy<T>(&T node) -> T { fail; }
|
||||
fn nf_crate_dummy(c: &crate) -> crate { fail; }
|
||||
fn nf_crate_directive_dummy(c: &@crate_directive) -> @crate_directive {
|
||||
fn nf_crate_dummy(_c: &crate) -> crate { fail; }
|
||||
fn nf_crate_directive_dummy(_c: &@crate_directive) -> @crate_directive {
|
||||
fail;
|
||||
}
|
||||
fn nf_view_item_dummy(v: &@view_item) -> @view_item { fail; }
|
||||
fn nf_native_item_dummy(n: &@native_item) -> @native_item { fail; }
|
||||
fn nf_item_dummy(i: &@item) -> @item { fail; }
|
||||
fn nf_item_underscore_dummy(i: &item_) -> item_ { fail; }
|
||||
fn nf_method_dummy(m: &@method) -> @method { fail; }
|
||||
fn nf_blk_dummy(b: &blk) -> blk { fail; }
|
||||
fn nf_stmt_dummy(s: &@stmt) -> @stmt { fail; }
|
||||
fn nf_arm_dummy(a: &arm) -> arm { fail; }
|
||||
fn nf_pat_dummy(p: &@pat) -> @pat { fail; }
|
||||
fn nf_decl_dummy(d: &@decl) -> @decl { fail; }
|
||||
fn nf_expr_dummy(e: &@expr) -> @expr { fail; }
|
||||
fn nf_ty_dummy(t: &@ty) -> @ty { fail; }
|
||||
fn nf_constr_dummy(c: &@constr) -> @constr { fail; }
|
||||
fn nf_fn_dummy(f: &_fn) -> _fn { fail; }
|
||||
fn nf_mod_dummy(m: &_mod) -> _mod { fail; }
|
||||
fn nf_native_mod_dummy(n: &native_mod) -> native_mod { fail; }
|
||||
fn nf_variant_dummy(v: &variant) -> variant { fail; }
|
||||
fn nf_ident_dummy(i: &ident) -> ident { fail; }
|
||||
fn nf_path_dummy(p: &path) -> path { fail; }
|
||||
fn nf_obj_field_dummy(o: &obj_field) -> obj_field { fail; }
|
||||
fn nf_local_dummy(o: &@local) -> @local { fail; }
|
||||
fn nf_view_item_dummy(_v: &@view_item) -> @view_item { fail; }
|
||||
fn nf_native_item_dummy(_n: &@native_item) -> @native_item { fail; }
|
||||
fn nf_item_dummy(_i: &@item) -> @item { fail; }
|
||||
fn nf_item_underscore_dummy(_i: &item_) -> item_ { fail; }
|
||||
fn nf_method_dummy(_m: &@method) -> @method { fail; }
|
||||
fn nf_blk_dummy(_b: &blk) -> blk { fail; }
|
||||
fn nf_stmt_dummy(_s: &@stmt) -> @stmt { fail; }
|
||||
fn nf_arm_dummy(_a: &arm) -> arm { fail; }
|
||||
fn nf_pat_dummy(_p: &@pat) -> @pat { fail; }
|
||||
fn nf_decl_dummy(_d: &@decl) -> @decl { fail; }
|
||||
fn nf_expr_dummy(_e: &@expr) -> @expr { fail; }
|
||||
fn nf_ty_dummy(_t: &@ty) -> @ty { fail; }
|
||||
fn nf_constr_dummy(_c: &@constr) -> @constr { fail; }
|
||||
fn nf_fn_dummy(_f: &_fn) -> _fn { fail; }
|
||||
fn nf_mod_dummy(_m: &_mod) -> _mod { fail; }
|
||||
fn nf_native_mod_dummy(_n: &native_mod) -> native_mod { fail; }
|
||||
fn nf_variant_dummy(_v: &variant) -> variant { fail; }
|
||||
fn nf_ident_dummy(_i: &ident) -> ident { fail; }
|
||||
fn nf_path_dummy(_p: &path) -> path { fail; }
|
||||
fn nf_obj_field_dummy(_o: &obj_field) -> obj_field { fail; }
|
||||
fn nf_local_dummy(_o: &@local) -> @local { fail; }
|
||||
|
||||
/* some little folds that probably aren't useful to have in ast_fold itself*/
|
||||
|
||||
@ -176,7 +176,7 @@ fn noop_fold_crate_directive(cd: &crate_directive_, fld: ast_fold) ->
|
||||
}
|
||||
}
|
||||
|
||||
fn noop_fold_view_item(vi: &view_item_, fld: ast_fold) -> view_item_ {
|
||||
fn noop_fold_view_item(vi: &view_item_, _fld: ast_fold) -> view_item_ {
|
||||
ret vi;
|
||||
}
|
||||
|
||||
@ -431,7 +431,7 @@ fn noop_fold_expr(e: &expr_, fld: ast_fold) -> expr_ {
|
||||
}
|
||||
}
|
||||
|
||||
fn noop_fold_ty(t: &ty_, fld: ast_fold) -> ty_ {
|
||||
fn noop_fold_ty(t: &ty_, _fld: ast_fold) -> ty_ {
|
||||
//drop in ty::fold_ty here if necessary
|
||||
ret t;
|
||||
}
|
||||
@ -476,7 +476,7 @@ fn noop_fold_variant(v: &variant_, fld: ast_fold) -> variant_ {
|
||||
ret {name: v.name, args: vec::map(fold_variant_arg, v.args), id: v.id};
|
||||
}
|
||||
|
||||
fn noop_fold_ident(i: &ident, fld: ast_fold) -> ident { ret i; }
|
||||
fn noop_fold_ident(i: &ident, _fld: ast_fold) -> ident { ret i; }
|
||||
|
||||
fn noop_fold_path(p: &path_, fld: ast_fold) -> path_ {
|
||||
ret {global: p.global,
|
||||
|
@ -282,7 +282,7 @@ fn check_bad_word(p: &parser) {
|
||||
}
|
||||
}
|
||||
|
||||
fn parse_ty_fn(proto: ast::proto, p: &parser, lo: uint) -> ast::ty_ {
|
||||
fn parse_ty_fn(proto: ast::proto, p: &parser) -> ast::ty_ {
|
||||
fn parse_fn_input_ty(p: &parser) -> ast::ty_arg {
|
||||
let lo = p.get_lo_pos();
|
||||
// Ignore arg name, if present
|
||||
@ -338,7 +338,7 @@ fn parse_ty_obj(p: &parser, hi: &mutable uint) -> ast::ty_ {
|
||||
let flo = p.get_lo_pos();
|
||||
let proto: ast::proto = parse_proto(p);
|
||||
let ident = parse_value_ident(p);
|
||||
let f = parse_ty_fn(proto, p, flo);
|
||||
let f = parse_ty_fn(proto, p);
|
||||
expect(p, token::SEMI);
|
||||
alt f {
|
||||
ast::ty_fn(proto, inputs, output, cf, constrs) {
|
||||
@ -574,16 +574,13 @@ fn parse_ty(p: &parser, colons_before_params: bool) -> @ast::ty {
|
||||
hi = p.get_hi_pos();
|
||||
expect(p, token::RBRACKET);
|
||||
} else if (eat_word(p, "fn")) {
|
||||
let flo = p.get_last_lo_pos();
|
||||
t = parse_ty_fn(ast::proto_fn, p, flo);
|
||||
t = parse_ty_fn(ast::proto_fn, p);
|
||||
alt t { ast::ty_fn(_, _, out, _, _) { hi = out.span.hi; } }
|
||||
} else if (eat_word(p, "block")) {
|
||||
let flo = p.get_last_lo_pos();
|
||||
t = parse_ty_fn(ast::proto_block, p, flo);
|
||||
t = parse_ty_fn(ast::proto_block, p);
|
||||
alt t { ast::ty_fn(_, _, out, _, _) { hi = out.span.hi; } }
|
||||
} else if (eat_word(p, "iter")) {
|
||||
let flo = p.get_last_lo_pos();
|
||||
t = parse_ty_fn(ast::proto_iter, p, flo);
|
||||
t = parse_ty_fn(ast::proto_iter, p);
|
||||
alt t { ast::ty_fn(_, _, out, _, _) { hi = out.span.hi; } }
|
||||
} else if (eat_word(p, "obj")) {
|
||||
t = parse_ty_obj(p, hi);
|
||||
@ -2427,7 +2424,7 @@ fn parse_native_view(p: &parser) -> [@ast::view_item] {
|
||||
fn parse_crate_from_source_file(input: &str, cfg: &ast::crate_cfg,
|
||||
sess: &parse_sess) -> @ast::crate {
|
||||
let p = new_parser_from_file(sess, cfg, input, 0u, 0u, SOURCE_FILE);
|
||||
ret parse_crate_mod(p, cfg, sess);
|
||||
ret parse_crate_mod(p, cfg);
|
||||
}
|
||||
|
||||
fn parse_crate_from_source_str(name: &str, source: &str, cfg: &ast::crate_cfg,
|
||||
@ -2438,11 +2435,11 @@ fn parse_crate_from_source_str(name: &str, source: &str, cfg: &ast::crate_cfg,
|
||||
let itr = @interner::mk(str::hash, str::eq);
|
||||
let rdr = lexer::new_reader(sess.cm, source, filemap, itr);
|
||||
let p = new_parser(sess, cfg, rdr, ftype);
|
||||
ret parse_crate_mod(p, cfg, sess);
|
||||
ret parse_crate_mod(p, cfg);
|
||||
}
|
||||
|
||||
// Parses a source module as a crate
|
||||
fn parse_crate_mod(p: &parser, cfg: &ast::crate_cfg, sess: parse_sess) ->
|
||||
fn parse_crate_mod(p: &parser, _cfg: &ast::crate_cfg) ->
|
||||
@ast::crate {
|
||||
let lo = p.get_lo_pos();
|
||||
let crate_attrs = parse_inner_attrs_and_next(p);
|
||||
|
@ -34,7 +34,7 @@ tag ann_node {
|
||||
type pp_ann = {pre: fn(&ann_node) , post: fn(&ann_node) };
|
||||
|
||||
fn no_ann() -> pp_ann {
|
||||
fn ignore(node: &ann_node) { }
|
||||
fn ignore(_node: &ann_node) { }
|
||||
ret {pre: ignore, post: ignore};
|
||||
}
|
||||
|
||||
|
@ -70,12 +70,12 @@ fn visit_crate_directive<E>(cd: &@crate_directive, e: &E, v: &vt<E>) {
|
||||
}
|
||||
}
|
||||
|
||||
fn visit_mod<E>(m: &_mod, sp: &span, e: &E, v: &vt<E>) {
|
||||
fn visit_mod<E>(m: &_mod, _sp: &span, e: &E, v: &vt<E>) {
|
||||
for vi: @view_item in m.view_items { v.visit_view_item(vi, e, v); }
|
||||
for i: @item in m.items { v.visit_item(i, e, v); }
|
||||
}
|
||||
|
||||
fn visit_view_item<E>(vi: &@view_item, e: &E, v: &vt<E>) { }
|
||||
fn visit_view_item<E>(_vi: &@view_item, _e: &E, _v: &vt<E>) { }
|
||||
|
||||
fn visit_local<E>(loc: &@local, e: &E, v: &vt<E>) {
|
||||
v.visit_pat(loc.node.pat, e, v);
|
||||
@ -161,8 +161,8 @@ fn visit_ty<E>(t: &@ty, e: &E, v: &vt<E>) {
|
||||
}
|
||||
}
|
||||
|
||||
fn visit_constr<E>(operator: &path, sp: &span, id: node_id, e: &E,
|
||||
v: &vt<E>) {
|
||||
fn visit_constr<E>(_operator: &path, _sp: &span, _id: node_id, _e: &E,
|
||||
_v: &vt<E>) {
|
||||
// default
|
||||
}
|
||||
|
||||
@ -198,8 +198,8 @@ fn visit_fn_decl<E>(fd: &fn_decl, e: &E, v: &vt<E>) {
|
||||
v.visit_ty(fd.output, e, v);
|
||||
}
|
||||
|
||||
fn visit_fn<E>(f: &_fn, tp: &[ty_param], sp: &span, i: &fn_ident, id: node_id,
|
||||
e: &E, v: &vt<E>) {
|
||||
fn visit_fn<E>(f: &_fn, _tp: &[ty_param], _sp: &span, _i: &fn_ident,
|
||||
_id: node_id, e: &E, v: &vt<E>) {
|
||||
visit_fn_decl(f.decl, e, v);
|
||||
v.visit_block(f.body, e, v);
|
||||
}
|
||||
@ -365,22 +365,22 @@ type simple_visitor =
|
||||
visit_fn: fn(&_fn, &[ty_param], &span, &fn_ident, node_id) };
|
||||
|
||||
fn default_simple_visitor() -> simple_visitor {
|
||||
ret @{visit_mod: fn (m: &_mod, sp: &span) { },
|
||||
visit_view_item: fn (vi: &@view_item) { },
|
||||
visit_native_item: fn (ni: &@native_item) { },
|
||||
visit_item: fn (i: &@item) { },
|
||||
visit_local: fn (l: &@local) { },
|
||||
visit_block: fn (b: &ast::blk) { },
|
||||
visit_stmt: fn (s: &@stmt) { },
|
||||
visit_arm: fn (a: &arm) { },
|
||||
visit_pat: fn (p: &@pat) { },
|
||||
visit_decl: fn (d: &@decl) { },
|
||||
visit_expr: fn (e: &@expr) { },
|
||||
visit_ty: fn (t: &@ty) { },
|
||||
visit_constr: fn (p: &path, sp: &span, id: node_id) { },
|
||||
ret @{visit_mod: fn (_m: &_mod, _sp: &span) { },
|
||||
visit_view_item: fn (_vi: &@view_item) { },
|
||||
visit_native_item: fn (_ni: &@native_item) { },
|
||||
visit_item: fn (_i: &@item) { },
|
||||
visit_local: fn (_l: &@local) { },
|
||||
visit_block: fn (_b: &ast::blk) { },
|
||||
visit_stmt: fn (_s: &@stmt) { },
|
||||
visit_arm: fn (_a: &arm) { },
|
||||
visit_pat: fn (_p: &@pat) { },
|
||||
visit_decl: fn (_d: &@decl) { },
|
||||
visit_expr: fn (_e: &@expr) { },
|
||||
visit_ty: fn (_t: &@ty) { },
|
||||
visit_constr: fn (_p: &path, _sp: &span, _id: node_id) { },
|
||||
visit_fn:
|
||||
fn (f: &_fn, tps: &[ty_param], sp: &span, ident: &fn_ident,
|
||||
id: node_id) {
|
||||
fn (_f: &_fn, _tps: &[ty_param], _sp: &span, _ident: &fn_ident,
|
||||
_id: node_id) {
|
||||
}};
|
||||
}
|
||||
|
||||
|
@ -61,7 +61,7 @@ fn intersect(v0: &t, v1: &t) -> bool {
|
||||
ret process(sub, v0, v1);
|
||||
}
|
||||
|
||||
fn right(w0: uint, w1: uint) -> uint { ret w1; }
|
||||
fn right(_w0: uint, w1: uint) -> uint { ret w1; }
|
||||
|
||||
fn assign(v0: &t, v1: t) -> bool {
|
||||
let sub = right;
|
||||
|
@ -108,7 +108,7 @@ tag result { success(match); failure(fail_); }
|
||||
|
||||
fn getopts(args: &[str], opts: &[opt]) -> result {
|
||||
let n_opts = vec::len::<opt>(opts);
|
||||
fn f(x: uint) -> [optval] { ret ~[]; }
|
||||
fn f(_x: uint) -> [optval] { ret ~[]; }
|
||||
let vals = vec::init_fn_mut::<[optval]>(f, n_opts);
|
||||
let free: [str] = ~[];
|
||||
let l = vec::len::<str>(args);
|
||||
|
@ -209,7 +209,7 @@ obj byte_buf_reader(bbuf: byte_buf) {
|
||||
bbuf.pos += 1u;
|
||||
ret b as int;
|
||||
}
|
||||
fn unread_byte(byte: int) { log_err "TODO: unread_byte"; fail; }
|
||||
fn unread_byte(_byte: int) { log_err "TODO: unread_byte"; fail; }
|
||||
fn eof() -> bool { ret bbuf.pos == vec::len::<u8>(bbuf.buf); }
|
||||
fn seek(offset: int, whence: seek_style) {
|
||||
let pos = bbuf.pos;
|
||||
@ -278,7 +278,7 @@ obj fd_buf_writer(fd: int, res: option::t<@fd_res>) {
|
||||
count += nout as uint;
|
||||
}
|
||||
}
|
||||
fn seek(offset: int, whence: seek_style) {
|
||||
fn seek(_offset: int, _whence: seek_style) {
|
||||
log_err "need 64-bit native calls for seek, sorry";
|
||||
fail;
|
||||
}
|
||||
|
@ -51,7 +51,7 @@ fn has<@T>(ls_: &list<T>, elt: &T) -> bool {
|
||||
}
|
||||
|
||||
fn length<@T>(ls: &list<T>) -> uint {
|
||||
fn count<T>(t: &T, u: &uint) -> uint { ret u + 1u; }
|
||||
fn count<T>(_t: &T, u: &uint) -> uint { ret u + 1u; }
|
||||
ret foldl(ls, 0u, count);
|
||||
}
|
||||
|
||||
|
@ -43,8 +43,8 @@ fn mk_hashmap<@K, @V>(hasher: &hashfn<K>, eqer: &eqfn<K>) -> hashmap<K, V> {
|
||||
// is always a power of 2), so that all buckets are probed for a
|
||||
// fixed key.
|
||||
|
||||
fn hashl(n: uint, nbkts: uint) -> uint { ret (n >>> 16u) * 2u + 1u; }
|
||||
fn hashr(n: uint, nbkts: uint) -> uint { ret 0x0000_ffff_u & n; }
|
||||
fn hashl(n: uint, _nbkts: uint) -> uint { ret (n >>> 16u) * 2u + 1u; }
|
||||
fn hashr(n: uint, _nbkts: uint) -> uint { ret 0x0000_ffff_u & n; }
|
||||
fn hash(h: uint, nbkts: uint, i: uint) -> uint {
|
||||
ret (hashl(h, nbkts) * i + hashr(h, nbkts)) % nbkts;
|
||||
}
|
||||
@ -98,7 +98,7 @@ fn mk_hashmap<@K, @V>(hasher: &hashfn<K>, eqer: &eqfn<K>) -> hashmap<K, V> {
|
||||
ret option::none;
|
||||
}
|
||||
fn rehash<@K, @V>(hasher: &hashfn<K>, eqer: &eqfn<K>,
|
||||
oldbkts: &[mutable bucket<K, V>], noldbkts: uint,
|
||||
oldbkts: &[mutable bucket<K, V>], _noldbkts: uint,
|
||||
newbkts: &[mutable bucket<K, V>], nnewbkts: uint) {
|
||||
for b: bucket<K, V> in oldbkts {
|
||||
alt b {
|
||||
|
Loading…
x
Reference in New Issue
Block a user