hovercraft

Code pulled with git from git://github.com/jchris/hovercraft.git with the last commit being 62e053d

These are Current warnings for hovercraft.

dialyzer -n -q -Wno_improper_lists -r . ../couchdb/src
couch_compaction_daemon.erl:204: The pattern 'timeout' can never match the type 'ok'
couch_db_update_notifier.erl:61: The inferred return type of handle_call/2 ({'reply','ok',_}) has nothing in common with {'remove_handler',_} | {'ok',_,_} | {'ok',_,_,'hibernate'} | {'swap_handler',_,_,_,atom() | {atom(),_},_}, which is the expected return type for the callback of gen_event behaviour
couch_event_sup.erl:63: The inferred return type of handle_call/3 ({'ok',_}) has nothing in common with {'noreply',_} | {'noreply',_,'hibernate' | 'infinity' | non_neg_integer()} | {'reply',_,_} | {'stop',_,_} | {'reply',_,_,'hibernate' | 'infinity' | non_neg_integer()} | {'stop',_,_,_}, which is the expected return type for the callback of gen_server behaviour
couch_httpd_db.erl:482: Call to missing or unexported function couch_httpd_view:parse_view_params/4
couch_httpd_vhost.erl:293: The pattern <[[] | R], Acc> can never match the type <[nonempty_string() | 42,...],[nonempty_string() | 42 | {'bind','*' | [any()]}]>
couch_replication_notifier.erl:50: The inferred return type of handle_call/2 ({'reply','ok',_}) has nothing in common with {'remove_handler',_} | {'ok',_,_} | {'ok',_,_,'hibernate'} | {'swap_handler',_,_,_,atom() | {atom(),_},_}, which is the expected return type for the callback of gen_event behaviour
couch_replicator_doc_copier.erl:452: The call couch_replicator_doc_copier:flush_doc(Target::#httpdb{},Doc::#doc{atts::[any()]}) will never return since it differs in the 1st argument from the success typing arguments: (binary() | {'httpdb',binary() | maybe_improper_list(any(),binary() | []),_,_,_,_,_,_,_,_} | #db{},#doc{revs::{_,nonempty_maybe_improper_list()}})
couch_view_compactor.erl:50: Call to missing or unexported function couch_task_status:add_task/3
couch_view_compactor.erl:65: Call to missing or unexported function couch_task_status:update/2
couch_view_compactor.erl:98: Call to missing or unexported function couch_task_status:update/2
couch_view_group.erl:128: The created fun has no local return
couch_view_group.erl:196: The created fun has no local return
couch_view_group.erl:223: The created fun has no local return
couch_view_group.erl:289: The created fun has no local return
couch_view_group.erl:303: The created fun has no local return
couch_view_updater.erl:27: Call to missing or unexported function couch_task_status:add_task/3
couch_view_updater.erl:35: The call couch_task_status:update(<<_:320>>) will never return since it differs in the 1st argument from the success typing arguments: ([tuple()])
couch_view_updater.erl:38: The call couch_task_status:update(<<_:376>>) will never return since it differs in the 1st argument from the success typing arguments: ([tuple()])
couch_view_updater.erl:68: Call to missing or unexported function couch_task_status:update/2
couch_view_updater.erl:75: The call couch_task_status:update([46 | 70 | 103 | 104 | 105 | 110 | 115,...]) will never return since it differs in the 1st argument from the success typing arguments: ([tuple()])
ejson.erl:17: Function init/0 has no local return
ejson.erl:24: The call filename:join(['ejson' | 'priv',...]) breaks the contract (Components) -> file:filename() when is_subtype(Components,[file:filename()])
ejson.erl:27: The call filename:join(Dir::binary() | string(),'ejson') breaks the contract (Name1,Name2) -> file:filename() when is_subtype(Name1,file:filename()), is_subtype(Name2,file:filename())
ejson.erl:51: Function nif_decode/1 has no local return
ejson.erl:69: Function nif_encode/1 has no local return
ejson.erl:135: Function make_ejson/2 will never be called
hovercraft.erl:297: Call to missing or unexported function couch_httpd_view:view_row_obj/3
hovercraft_test.erl:161: Call to missing or unexported function hovercraft:open_doc/1
mochijson2.erl:579: The variable __V can never match since previous clauses completely covered the type 'true'
mochiweb_http.erl:156: Function handle_invalid_request/1 has no local return
mochiweb_request.erl:249: The variable Length can never match since previous clauses completely covered the type 'chunked' | 'undefined' | integer() | {'unknown_transfer_encoding',_}
mochiweb_request.erl:258: Function start_response/2 has no local return
mochiweb_request.erl:267: Function start_raw_response/2 has no local return
mochiweb_request.erl:274: The call mochiweb:new_response({{_,port() | {'ssl',{'sslsocket',_,pid()}},_,_,_,_},binary() | maybe_improper_list() | integer(),gb_tree()}) contains an opaque term as 1st argument when a structured term of type {_,_,[any()] | tuple()} is expected
mochiweb_request.erl:282: Function start_response_length/2 has no local return
mochiweb_request.erl:292: Function respond/2 has no local return
mochiweb_request.erl:299: The created fun has no local return
mochiweb_request.erl:336: Function not_found/1 has no local return
mochiweb_request.erl:342: Function not_found/2 has no local return
mochiweb_request.erl:349: Function ok/2 has no local return
mochiweb_request.erl:553: Function serve_file/3 has no local return
mochiweb_request.erl:558: Function serve_file/4 has no local return
mochiweb_request.erl:578: Function maybe_redirect/4 has no local return
mochiweb_request.erl:602: Function maybe_serve_file/3 has no local return
mochiweb_sup.erl:26: The pattern [Spec | _] can never match the type []
oauth.erl:67: Function signature_base_string/3 has no local return
oauth_uri.erl:12: The pattern {Scheme, UserInfo, Host, Port, Path, _Query} can never match the type {'error','no_scheme' | {'malformed_url',_} | {'not_supported_scheme',atom()}} | {'ok',{'http',_,_,_,_,_} | {'https',_,_,_,_,_}}
oauth_uri.erl:18: Function normalize/5 will never be called
oauth_uri.erl:25: Function normalize/3 will never be called
couch_mrview.erl:104: Function cancel_compaction/2 has no local return
couch_mrview.erl:106: Call to missing or unexported function couch_index:get_compactor_pid/1
couch_mrview.erl:115: Function cleanup/1 has no local return
couch_mrview_cleanup.erl:22: Function run/1 has no local return
couch_mrview_cleanup.erl:27: The created fun has no local return
couch_mrview_cleanup.erl:35: The call couch_index_util:index_dir('mrview',DbName::any()) will never return since it differs in the 1st argument from the success typing arguments: (binary() | string(),binary() | #db{})
couch_mrview_compactor.erl:46: The created fun has no local return
couch_mrview_compactor.erl:156: Function swap_compacted/2 has no local return
couch_mrview_http.erl:90: Call to missing or unexported function couch_httpd:send_method_not_allowd/2
couch_mrview_index.erl:72: Function open/2 has no local return
couch_mrview_index.erl:138: Function swap_compacted/2 has no local return
couch_mrview_util.erl:505: Function index_file/2 has no local return
couch_mrview_util.erl:507: The call couch_index_util:index_file('mrview',DbName::any(),FileName::[integer(),...]) will never return since it differs in the 1st argument from the success typing arguments: (binary() | string(),binary() | #db{},binary() | string())
couch_mrview_util.erl:510: Function compaction_file/2 has no local return
couch_mrview_util.erl:512: The call couch_index_util:index_file('mrview',DbName::any(),FileName::[integer(),...]) will never return since it differs in the 1st argument from the success typing arguments: (binary() | string(),binary() | #db{},binary() | string())
couch_mrview_util.erl:523: Function delete_files/2 has no local return
couch_mrview_util.erl:528: Function delete_index_file/2 has no local return
couch_mrview_util.erl:532: Function delete_compaction_file/2 has no local return
couch_mrview_util.erl:536: Function delete_file/1 will never be called