每日一博 | Rust 的错误信息输出原理概述
作者:宗喆@KusionStack开发组 原文:https://mp.weixin.qq.com/s/eGS95WGU814RdD6Vs3J6yQ 1. 背景 最近在参与 KusionStack 内置的领域语言 —— KCL 配置语言编译器 的开发,需要开发编译器的错误处理模块,由于 KCL 使用 Rust 开发的,因此打算来学学 Rust 语言的错误处理模块是怎么做的。 2. 介绍 单纯从 Rustc 源码的目录结构中看,Rustc 中关于错误处理的部分主要集中在 rustc_errors 、rustc_error_codes 和 rustc_error_message 三个目录下,但是在看源码的过程中我发现由于 Rustc 代码量大,并且错误处理模块涉及到很多其他的模块,单纯的看这三个目录下的代码很容易看晕,剖析起来也比较困难。因此,我打算将这部分的的源码剖析拆分成几个部分,这篇文章主要结合 Rustc 的官方文档和 Rustc 源码进行结构的梳理。 因此本文的核心思路只是对错误处理部分的结构进行梳理,目标就是梳理一下在 Rustc 对 Rust 程序进行解析的过程中,错误是如何从...


