Struct wasm_smith::SwarmConfig [−][src]
pub struct SwarmConfig {Show 40 fields
pub max_types: usize,
pub max_imports: usize,
pub max_tags: usize,
pub max_funcs: usize,
pub max_globals: usize,
pub max_exports: usize,
pub max_element_segments: usize,
pub max_elements: usize,
pub max_data_segments: usize,
pub max_instructions: usize,
pub max_memories: usize,
pub min_uleb_size: u8,
pub max_tables: usize,
pub max_memory_pages: u64,
pub bulk_memory_enabled: bool,
pub reference_types_enabled: bool,
pub module_linking_enabled: bool,
pub max_aliases: usize,
pub max_nesting_depth: usize,
pub memory64_enabled: bool,
pub min_types: usize,
pub min_imports: usize,
pub min_tags: usize,
pub min_funcs: usize,
pub min_globals: usize,
pub min_exports: usize,
pub min_data_segments: usize,
pub min_element_segments: usize,
pub min_elements: usize,
pub min_memories: u32,
pub min_tables: u32,
pub max_instances: usize,
pub max_modules: usize,
pub memory_offset_choices: (u32, u32, u32),
pub memory_max_size_required: bool,
pub simd_enabled: bool,
pub exceptions_enabled: bool,
pub allow_start_export: bool,
pub max_type_size: u32,
pub canonicalize_nans: bool,
}Expand description
A module configuration that uses swarm testing.
Dynamically – but still deterministically, via its Arbitrary
implementation – chooses configuration options.
Note that we pick only maximums, not minimums, here because it is more
complex to describe the domain of valid configs when minima are involved
(min <= max for each variable) and minima are mostly used to ensure
certain elements are present, but do not widen the range of generated Wasm
modules.
Fields
max_types: usizemax_imports: usizemax_funcs: usizemax_globals: usizemax_exports: usizemax_element_segments: usizemax_elements: usizemax_data_segments: usizemax_instructions: usizemax_memories: usizemin_uleb_size: u8max_tables: usizemax_memory_pages: u64bulk_memory_enabled: boolreference_types_enabled: boolmodule_linking_enabled: boolmax_aliases: usizemax_nesting_depth: usizememory64_enabled: boolmin_types: usizemin_imports: usizemin_funcs: usizemin_globals: usizemin_exports: usizemin_data_segments: usizemin_element_segments: usizemin_elements: usizemin_memories: u32min_tables: u32max_instances: usizemax_modules: usizememory_offset_choices: (u32, u32, u32)memory_max_size_required: boolsimd_enabled: boolexceptions_enabled: boolallow_start_export: boolmax_type_size: u32canonicalize_nans: boolTrait Implementations
The minimum number of imports to generate. Defaults to 0. Read more
The maximum number of imports to generate. Defaults to 100.
The minimum number of functions to generate. Defaults to 0. This includes imported functions. Read more
The maximum number of functions to generate. Defaults to 100. This includes imported functions. Read more
The minimum number of globals to generate. Defaults to 0. This includes imported globals. Read more
The maximum number of globals to generate. Defaults to 100. This includes imported globals. Read more
The minimum number of exports to generate. Defaults to 0.
The maximum number of exports to generate. Defaults to 100.
The minimum number of element segments to generate. Defaults to 0.
The maximum number of element segments to generate. Defaults to 100.
The minimum number of elements within a segment to generate. Defaults to 0. Read more
The maximum number of elements within a segment to generate. Defaults to 100. Read more
The minimum number of data segments to generate. Defaults to 0.
The maximum number of data segments to generate. Defaults to 100.
The maximum number of instructions to generate in a function body. Defaults to 100. Read more
The minimum number of memories to use. Defaults to 0. This includes imported memories. Read more
The maximum number of memories to use. Defaults to 1. This includes imported memories. Read more
The minimum number of tables to use. Defaults to 0. This includes imported tables. Read more
The maximum number of tables to use. Defaults to 1. This includes imported tables. Read more
The maximum, in 64k Wasm pages, of any memory’s initial or maximum size. Read more
Whether every Wasm memory must have a maximum size specified. Defaults
to false. Read more
The maximum number of instances to use. Defaults to 10. This includes imported instances. Read more
The maximum number of modules to use. Defaults to 10. This includes imported modules. Read more
Control the probability of generating memory offsets that are in bounds vs. potentially out of bounds. Read more
The minimum size, in bytes, of all leb-encoded integers. Defaults to 1. Read more
Determines whether the bulk memory proposal is enabled for generating
insructions. Defaults to false. Read more
Determines whether the reference types proposal is enabled for
generating insructions. Defaults to false. Read more
Determines whether the module linking proposal is enabled. Read more
Determines whether the SIMD proposal is enabled for
generating insructions. Defaults to false. Read more
Determines whether the exception-handling proposal is enabled for
generating insructions. Defaults to false. Read more
Determines whether a start export may be included. Defaults to true.
Returns the maximal size of the alias section.
Returns the maximal nesting depth of modules with the module linking proposal. Read more
Returns whether 64-bit memories are allowed. Read more
Returns whether NaN values are canonicalized after all f32/f64 operation. Read more
The minimum number of tags to generate. Defaults to 0.
The maximum number of tags to generate. Defaults to 100.
Returns the maximal effective size of any type generated by wasm-smith. Read more
Auto Trait Implementations
impl RefUnwindSafe for SwarmConfig
impl Send for SwarmConfig
impl Sync for SwarmConfig
impl Unpin for SwarmConfig
impl UnwindSafe for SwarmConfig
Blanket Implementations
Mutably borrows from an owned value. Read more