use crate::ir::facts::{AttributeFact, ExternBlockFact, StringLitFact, UnsafeFact, UsePathFact};
pub(crate) trait CapabilitySourceFact {
fn containing_fn(&self) -> Option<usize>;
}
impl CapabilitySourceFact for UsePathFact {
fn containing_fn(&self) -> Option<usize> {
self.containing_fn
}
}
impl CapabilitySourceFact for UnsafeFact {
fn containing_fn(&self) -> Option<usize> {
self.containing_fn
}
}
impl CapabilitySourceFact for ExternBlockFact {
fn containing_fn(&self) -> Option<usize> {
self.containing_fn
}
}
impl CapabilitySourceFact for AttributeFact {
fn containing_fn(&self) -> Option<usize> {
self.containing_fn
}
}
impl CapabilitySourceFact for StringLitFact {
fn containing_fn(&self) -> Option<usize> {
self.containing_fn
}
}