Skip to main content

Module limits

Module limits 

Source
Expand description

Registering limits:

  • recursion_limit: there are various parts of the compiler that must impose arbitrary limits on how deeply they recurse to prevent stack overflow.
  • move_size_limit
  • type_length_limit
  • pattern_complexity_limit

Users can override these limits via an attribute on the crate like #![recursion_limit="22"]. This pass just looks for those attributes.

Re-exportsยง

use rustc_ast as ast; ๐Ÿ”’
use rustc_ast::DUMMY_NODE_ID; ๐Ÿ”’
use rustc_attr_ir::target::AstTarget; ๐Ÿ”’
use rustc_attr_ir::target::Target; ๐Ÿ”’
use rustc_attr_ir::Attribute; ๐Ÿ”’
use rustc_attr_ir::find_attr; ๐Ÿ”’
use rustc_attr_parsing::AttributeParser; ๐Ÿ”’
use rustc_attr_parsing::ShouldEmit; ๐Ÿ”’
use rustc_feature::Features; ๐Ÿ”’
use rustc_session::Limits; ๐Ÿ”’
use rustc_session::Session; ๐Ÿ”’
use rustc_span::DUMMY_SP; ๐Ÿ”’
use rustc_span::sym; ๐Ÿ”’
use rustc_structures::Limit; ๐Ÿ”’

Functionsยง

get_limits
get_recursion_limit ๐Ÿ”’