# 编译器对在白箱测试中使用使用过的\`using\`项发出警告

**URL:** <https://taolun.moonbitlang.com/t/topic/1402>\
**Category:** Bug提交\
**Created:** [2026 年3 月 10 日 11:18 UTC](https://taolun.moonbitlang.com/t/topic/1402 "2026-03-10T11:18:38Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

作者： ![sennenki](https://taolun.moonbitlang.com/letter_avatar_proxy/v4/letter/s/e56c9b/32.png) [@sennenki](https://taolun.moonbitlang.com/u/sennenki)\
发布日期： [2026 年3 月 10 日 11:18 UTC](https://taolun.moonbitlang.com/t/topic/1402/1 "2026-03-10T11:18:38Z")

</div>

假设某包下有文件`foo.mbt`, 其中用一行`using`将标识符`parse_int`引入作用域:

 ![image](https://taolun.moonbitlang.com/uploads/default/original/1X/5d8e437fb197343a6c97635ebbc14915e0ddf155.png)

---

<div class="post-metadata">

作者： ![sennenki](https://taolun.moonbitlang.com/letter_avatar_proxy/v4/letter/s/e56c9b/32.png) [@sennenki](https://taolun.moonbitlang.com/u/sennenki)\
发布日期： [2026 年3 月 10 日 11:20 UTC](https://taolun.moonbitlang.com/t/topic/1402/2 "2026-03-10T11:20:32Z")

</div>

且`parse_int`函数在包中仅被白箱测试文件(比如`foo_wbtest.mbt`)引用:

 ![image](https://taolun.moonbitlang.com/uploads/default/original/1X/c706ff109b38e65cc85f3e4d1793ecba4059cd8b.png)  
编译器会警告`Warning (unused_value): Unused variable 'parse_int'`, 尽管把`using`去掉后又会报标识符未绑定.

---

<div class="post-metadata">

作者： ![jerry-ye](https://taolun.moonbitlang.com/user_avatar/taolun.moonbitlang.com/jerry-ye/32/178_2.png) [@jerry-ye](https://taolun.moonbitlang.com/u/jerry-ye)\
发布日期： [2026 年3 月 11 日 02:12 UTC](https://taolun.moonbitlang.com/t/topic/1402/3 "2026-03-11T02:12:47Z")

</div>

这里进行了两次检查：

第一次，纯项目测试，只有 foo.mbt，此时 parse\_int 未使用  
第二次，白盒测试，包含 foo.mbt 和 foo\_wbtest.mbt，此时 parse\_int 使用

正确做法是把只有白盒测试用到的 using 挪到白盒测试文件中去。
