Hasty Briefsbeta

双语

Type-level bounded recursion in Rust

a year ago
  • #Recursion
  • #Rust
  • #Stack Overflow
  • 在Rust中,由于保护页机制,栈溢出会导致程序不可恢复地终止。
  • Rust为栈溢出安装了信号处理程序,通过触发abort来维护安全性保证。
  • 带有运行时的语言可以手动检查栈使用情况,但Rust缺乏这种能力。
  • 深度计数器是防止递归调用中栈溢出的一种简单解决方案。
  • 使用Peano编码和特质进行类型级递归被探索为更高级的解决方案。
  • 宏用于简化受保护递归的实现,尽管存在一些权衡。
  • 该方法由于生成多个函数实例,会增加代码生成时间和二进制文件大小。