This repository has been archived on 2025-08-04. You can view files and clone it, but cannot push or open issues or pull requests.
rhaj/_archive/rhai_engine/rhaibook/safety/max-modules.md
2025-04-04 08:28:07 +02:00

1004 B

Maximum Number of Modules

{{#include ../links.md}}

Rhai by default does not limit how many [modules] can be loaded via [import] statements.

This can be changed via the [Engine::set_max_modules][options] method. Notice that setting the maximum number of modules to zero does not indicate unlimited modules, but disallows loading any module altogether.

A script attempting to load more than the maximum number of modules will terminate with an error result.

This limit can also be used to stop [import-loops][import] (i.e. cycles of modules referring to each other).

This check can be disabled via the [unchecked] feature for higher performance (but higher risks as well).

let mut engine = Engine::new();

engine.set_max_modules(5);      // allow loading only up to 5 modules

engine.set_max_modules(0);      // disallow loading any module (maximum = zero)

engine.set_max_modules(1000);   // set to a large number for effectively unlimited modules