diff options
author | JSDurand <mmemmew@gmail.com> | 2023-07-21 16:20:00 +0800 |
---|---|---|
committer | JSDurand <mmemmew@gmail.com> | 2023-07-21 16:20:00 +0800 |
commit | 659c2195d2c224122cc8da813bec3af46084b61b (patch) | |
tree | 4d7fa4653ccf82521bbfadf0fab1fc914c24ab4d | |
parent | 1f010ad1aad8202828ab437ecaf1a635adda3c3f (diff) |
regex: Merge the `types` array as well.
* nfa/src/default/regex.rs: Previously when merging regular
expressoins, only the graphs are merged, but the `types` array
stayed unchanged. This caused errors of indices being out of
bounds.
-rw-r--r-- | nfa/src/default/regex.rs | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/nfa/src/default/regex.rs b/nfa/src/default/regex.rs index 9b5fab1..8185ca5 100644 --- a/nfa/src/default/regex.rs +++ b/nfa/src/default/regex.rs @@ -558,6 +558,8 @@ impl<T: GraphLabel> DefaultRegex<T> { builder_mut.append(other.graph); + self.types.extend(other.types); + if let Some(root) = self.root { // Deliberately ignore errors here. let _ = builder_mut.add_edge(root, old_len, ()); |