diff options
| author | Nicholas Nethercote <n.nethercote@gmail.com> | 2025-02-07 10:57:14 +1100 |
|---|---|---|
| committer | Nicholas Nethercote <n.nethercote@gmail.com> | 2025-02-17 09:30:33 +1100 |
| commit | b023671ce2019cdc1768d4acfb148c86ab70183a (patch) | |
| tree | 1a97d7b1eddf25dbcaa4e83bb107cc7b5b8c3c60 /compiler/rustc_session/src/session.rs | |
| parent | 5bc62314547c7639484481f62f218156697cfef0 (diff) | |
| download | rust-b023671ce2019cdc1768d4acfb148c86ab70183a.tar.gz rust-b023671ce2019cdc1768d4acfb148c86ab70183a.zip | |
Add `pattern_complexity_limit` to `Limits`.
It's similar to the other limits, e.g. obtained via `get_limit`. So it makes sense to handle it consistently with the other limits. We now use `Limit`/`usize` in most places instead of `Option<usize>`, so we use `Limit::new(usize::MAX)`/`usize::MAX` to emulate how `None` used to work. The commit also adds `Limit::unlimited`.
Diffstat (limited to 'compiler/rustc_session/src/session.rs')
| -rw-r--r-- | compiler/rustc_session/src/session.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/compiler/rustc_session/src/session.rs b/compiler/rustc_session/src/session.rs index f795ad1ee17..c4d45ee02ee 100644 --- a/compiler/rustc_session/src/session.rs +++ b/compiler/rustc_session/src/session.rs @@ -67,6 +67,11 @@ impl Limit { Limit(value) } + /// Create a new unlimited limit. + pub fn unlimited() -> Self { + Limit(usize::MAX) + } + /// Check that `value` is within the limit. Ensures that the same comparisons are used /// throughout the compiler, as mismatches can cause ICEs, see #72540. #[inline] @@ -119,6 +124,8 @@ pub struct Limits { pub move_size_limit: Limit, /// The maximum length of types during monomorphization. pub type_length_limit: Limit, + /// The maximum pattern complexity allowed (internal only). + pub pattern_complexity_limit: Limit, } pub struct CompilerIO { |
