Перейти до вмісту
Помилки компілятора RustКритична
panic-stack-overflow

Panic — Переповнення стеку

Програма завершилась з панікою через надмірне використання стеку, зазвичай через глибоку рекурсію.

rustcargo

Що спричиняє цю помилку

Рекурсивна функція викликає себе занадто багато разів без досягнення базового випадку, або базовий випадок ніколи не спрацьовує. Кожен виклик функції використовує простір стеку, і перевищення ліміту стеку призводить до аварійного завершення.

Як виправити

Додайте або виправте базовий випадок у рекурсивних функціях. Замініть рекурсію ітерацією. Збільшіть розмір стеку за допомогою std::thread::Builder. Де можливо, використовуйте шаблони хвостової рекурсії.

Офіційна документація

Пов'язані коди помилок