#![deny(
absolute_paths_not_starting_with_crate,
anonymous_parameters,
const_err,
dead_code,
deprecated,
deprecated_in_future,
duplicate_macro_exports,
ellipsis_inclusive_range_patterns,
exceeding_bitshifts,
explicit_outlives_requirements,
illegal_floating_point_literal_pattern,
improper_ctypes,
incoherent_fundamental_impls,
intra_doc_link_resolution_failure,
invalid_type_param_default,
irrefutable_let_patterns,
keyword_idents,
late_bound_lifetime_arguments,
legacy_constructor_visibility,
legacy_directory_ownership,
macro_expanded_macro_exports_accessed_by_absolute_paths,
missing_copy_implementations,
missing_docs,
missing_fragment_specifier,
mutable_transmutes,
no_mangle_const_items,
no_mangle_generic_items,
non_camel_case_types,
non_shorthand_field_patterns,
non_snake_case,
non_upper_case_globals,
order_dependent_trait_objects,
overflowing_literals,
parenthesized_params_in_types_and_modules,
path_statements,
patterns_in_fns_without_body,
plugin_as_library,
private_doc_tests,
private_in_public,
proc_macro_derive_resolution_fallback,
pub_use_of_private_extern_crate,
question_mark_macro_sep,
safe_extern_statics,
safe_packed_borrows,
stable_features,
trivial_bounds,
trivial_casts,
trivial_numeric_casts,
type_alias_bounds,
tyvar_behind_raw_pointer,
unconditional_recursion,
unions_with_drop_fields,
unknown_crate_types,
unnameable_test_items,
unreachable_code,
unreachable_patterns,
unreachable_pub,
unsafe_code,
unstable_features,
unstable_name_collisions,
unused_allocation,
unused_assignments,
unused_attributes,
unused_comparisons,
unused_doc_comments,
unused_extern_crates,
unused_features,
unused_import_braces,
unused_imports,
unused_labels,
unused_lifetimes,
unused_macros,
unused_must_use,
unused_mut,
unused_parens,
unused_qualifications,
unused_unsafe,
unused_variables,
where_clauses_object_safety,
while_true
)]
#![warn(macro_use_extern_crate, unknown_lints)]
#![allow(
bare_trait_objects,
box_pointers,
elided_lifetimes_in_paths,
missing_doc_code_examples,
missing_debug_implementations,
single_use_lifetimes,
unused_results,
variant_size_differences,
warnings,
renamed_and_removed_lints
)]
#![cfg_attr(feature = "clippy", feature(plugin))]
#[cfg(test)]
#[path = "./lib_test.rs"]
mod lib_test;
extern crate rand;
#[cfg(not(windows))]
extern crate users;
#[macro_use]
mod macros;
mod runner;
pub mod types;
pub type ScriptError = types::ScriptError;
pub type ScriptOptions = types::ScriptOptions;
pub fn run(
script: &str,
args: &Vec<String>,
options: &ScriptOptions,
) -> Result<(i32, String, String), ScriptError> {
runner::run(script, &args, &options)
}