Just learned that @rustlang std::regex::Regex uses internal match state, synced to make Regex thread safe. This totally caught me by surprise. https://github.com/rust-lang/regex/blob/master/PERFORMANCE.md#using-a-regex-from-multiple-threads … Aparantly, as @burntsushi5 explained, regex engines ususally work like this.
In the future, I'd like there to be an alternative API that is more explicit (and therefore, wouldn't be `Sync`), but it isn't a high priority because the sync overhead is so low right now, thanks to https://docs.rs/thread_local