Use more slice patterns inside the compiler
This commit is contained in:
parent
60d146580c
commit
c4c518d2d4
40 changed files with 191 additions and 221 deletions
|
@ -46,15 +46,14 @@ pub struct EdgeFilter {
|
|||
|
||||
impl EdgeFilter {
|
||||
pub fn new(test: &str) -> Result<EdgeFilter, Box<dyn Error>> {
|
||||
let parts: Vec<_> = test.split("->").collect();
|
||||
if parts.len() != 2 {
|
||||
Err(format!("expected a filter like `a&b -> c&d`, not `{test}`").into())
|
||||
} else {
|
||||
if let [source, target] = *test.split("->").collect::<Vec<_>>() {
|
||||
Ok(EdgeFilter {
|
||||
source: DepNodeFilter::new(parts[0]),
|
||||
target: DepNodeFilter::new(parts[1]),
|
||||
source: DepNodeFilter::new(source),
|
||||
target: DepNodeFilter::new(target),
|
||||
index_to_node: Lock::new(FxHashMap::default()),
|
||||
})
|
||||
} else {
|
||||
Err(format!("expected a filter like `a&b -> c&d`, not `{test}`").into())
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue