首页
/ Rune项目中的格式化工具非幂等问题分析

Rune项目中的格式化工具非幂等问题分析

2025-07-06 14:10:15作者:姚月梅Lane

Rune项目的自动格式化工具在处理代码空白行时存在一个非幂等性问题,即每次执行格式化操作都会在原有基础上增加额外的空白行。这个问题主要出现在两种场景中:函数体内的结构体声明和顶级常量声明之间。

问题现象

在函数体内声明结构体时,格式化工具会在结构体闭合大括号前持续添加空白行。例如初始代码:

pub fn test() {
    let ctx = Context {
        props,
        cmds,
        package_managers,
        system,
        features,
        tasks,
        passwd,
    };
}

经过多次格式化后会变成:

pub fn test() {
    let ctx = Context {
        props,
        cmds,
        package_managers,
        system,
        features,
        tasks,
        passwd,
登录后查看全文
热门项目推荐
相关项目推荐