首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kcov报告了锈菌库的100%,尽管有些方法没有包括在内。

Kcov报告了锈菌库的100%,尽管有些方法没有包括在内。
EN

Stack Overflow用户
提问于 2017-04-23 03:54:19
回答 1查看 271关注 0票数 5

我正试图在我的锈蚀库中添加代码覆盖率。它报告说它是100%覆盖的,但是当我看这个报告时,很多行都不算在内:https://codecov.io/gh/JelteF/defaultmap/src/c878e108c61f270718c909e1500c4c2e865a33d1/src/lib.rs#L93...106

这是什么原因,是否有可能解决这个问题?我已经尝试过将RUSTFLAGS设置为"-C链接-死代码“,就像这个答案中所建议的:没有帮助的https://stackoverflow.com/a/38371687/2570866

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-23 08:13:11

这是一个已知的问题(https://github.com/rust-lang/rust/issues/39293),目前还没有实现解决方案。锈蚀中的泛型是similar to templates in C++,如果不使用泛型函数,就不会生成任何代码。事实上,这些职能并不存在:

代码语言:javascript
复制
$ nm target/debug/defaultmap-2fd0c3085042f647 | grep DefaultHashMap | cargo demangle
000000000002c350 t <defaultmap::hashmap::DefaultHashMap<K, V> as core::ops::Index<KB>>::index::h14fb5e24128b7e47
000000000002c390 t <defaultmap::hashmap::DefaultHashMap<K, V> as core::ops::Index<KB>>::index::h5c00e602e45f6925
000000000002c3d0 t <defaultmap::hashmap::DefaultHashMap<K, V> as core::ops::Index<KB>>::index::hc5dfb7b3478d945a
000000000002c420 t <defaultmap::hashmap::DefaultHashMap<K, V> as core::ops::IndexMut<K>>::index_mut::h8b298bf16464a070
000000000002c470 t <defaultmap::hashmap::DefaultHashMap<K, V> as core::ops::IndexMut<K>>::index_mut::hcc509def35f89759
000000000002bfc0 t <defaultmap::hashmap::DefaultHashMap<K, V>>::get::h6a0f4cb5c61c67e8
000000000002c060 t <defaultmap::hashmap::DefaultHashMap<K, V>>::get::ha5fdb528b5dd94a5
000000000002c110 t <defaultmap::hashmap::DefaultHashMap<K, V>>::get::hc1a5643986209ba6
000000000002c1b0 t <defaultmap::hashmap::DefaultHashMap<K, V>>::get_mut::h14f0ded6ba3206f3
000000000002c2a0 t <defaultmap::hashmap::DefaultHashMap<K, V>>::get_mut::h6ea36d917e778099
000000000002eaf0 t <defaultmap::hashmap::DefaultHashMap<K, V> as core::fmt::Debug>::fmt::h2cefa624bd18fcfe
000000000002e9e0 t <defaultmap::hashmap::DefaultHashMap<K, V> as core::default::Default>::default::h0b736edcd6ac228a
000000000002ea60 t <defaultmap::hashmap::DefaultHashMap<K, V> as core::default::Default>::default::hd09b7abe1e63b94f

我认为,目前唯一实用的解决方案是手动检查覆盖率报告,并为忽略的函数添加缺失的测试。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43567196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档