mirror of
https://github.com/erg-lang/erg.git
synced 2025-08-04 10:49:54 +00:00
fix: type variable linking bug
This commit is contained in:
parent
cb9380f3aa
commit
9d88e8d7e7
5 changed files with 78 additions and 27 deletions
|
@ -627,6 +627,17 @@ impl RecursionCounter {
|
|||
|
||||
#[macro_export]
|
||||
macro_rules! set_recursion_limit {
|
||||
(panic, $msg:expr, $limit:expr) => {
|
||||
use std::sync::atomic::AtomicU32;
|
||||
|
||||
static COUNTER: AtomicU32 = AtomicU32::new($limit);
|
||||
|
||||
let counter = $crate::macros::RecursionCounter::new(&COUNTER);
|
||||
if counter.limit_reached() {
|
||||
$crate::log!(err "Recursion limit reached");
|
||||
panic!($msg);
|
||||
}
|
||||
};
|
||||
($returns:expr, $limit:expr) => {
|
||||
use std::sync::atomic::AtomicU32;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue