首页 > 解决方案 > 如何从常量函数内部打印中间值以进行调试?

问题描述

假设我有以下代码

const fn test() -> i64 {
    println!("Hello");
    34
}

这会产生以下错误:

error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants

执行此操作的正确语法是什么?

标签: rustcompiler-errorssyntax-error

解决方案


如果一个函数打印,那么它不能是一个const函数。

函数的部分意义const在于编译器可以进行优化,例如在编译时评估它们。打印只是没有意义。


推荐阅读