Disallow enabling features without their implied features
This commit is contained in:
parent
0b98a0c727
commit
8818c95528
5 changed files with 11 additions and 23 deletions
|
@ -447,19 +447,11 @@ impl<'a, 'tcx> Visitor<'a, 'tcx> for UnsafetyVisitor<'a, 'tcx> {
|
|||
self.body_target_features.iter().any(|f| f.name == feature.name)
|
||||
})
|
||||
{
|
||||
// Don't include implicit features in the error, unless only implicit
|
||||
// features are missing.
|
||||
let missing_explicit_features = callee_features.iter().any(|feature| {
|
||||
!feature.implied
|
||||
&& !self.body_target_features.iter().any(|body_feature| {
|
||||
!feature.implied && body_feature.name == feature.name
|
||||
})
|
||||
});
|
||||
let missing: Vec<_> = callee_features
|
||||
.iter()
|
||||
.copied()
|
||||
.filter(|feature| {
|
||||
!(missing_explicit_features && feature.implied)
|
||||
!feature.implied
|
||||
&& !self
|
||||
.body_target_features
|
||||
.iter()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue