Result: done
Files: Cargo.lock crates/nikaia-std/Cargo.toml crates/nikaia-std/src/regex.rs crates/nikaia-std/src/lib.rs crates/nikaia-std/src/error.rs crates/nikaia-std/std.contracts crates/nikaia/tests/it/contracts.rs tests/compiler/tests/regex_is_match.nika tests/compiler/tests/regex_is_match.stdout tests/compiler/tests/regex_find.nika tests/compiler/tests/regex_find.stdout tests/compiler/tests/regex_find_all.nika tests/compiler/tests/regex_find_all.stdout tests/compiler/tests/regex_captures.nika tests/compiler/tests/regex_captures.stdout tests/compiler/tests/regex_named.nika tests/compiler/tests/regex_named.stdout tests/compiler/tests/regex_replace_all.nika tests/compiler/tests/regex_replace_all.stdout tests/compiler/tests/regex_split.nika tests/compiler/tests/regex_split.stdout tests/compiler/tests/regex_a_bad_pattern_is_a_regex_error.nika tests/compiler/tests/regex_a_bad_pattern_is_a_regex_error.stdout tests/compiler/tests/regex_a_literal_pattern_is_dynamic.nika tests/compiler/tests/regex_a_literal_pattern_is_dynamic.stdout
Commit: std::regex: run-time patterns on regex-automata, without positions (#673 step 1)
Body: regex::Regex[E] with the trait regex::Engine and its one engine regex::Dynamic (regex-automata’s meta::Regex), regex::dynamic throws regex::Error (the crate’s message as text), is_match, find, find_all, captures with group and named, replace_all, split; text::Match with only m.text(), a view of the searched text. Cargo.lock: cargo also re-resolved errno, rustix and terminal_size to the windows-sys 0.61.2 already in the lock (Windows only).
Part: #673
Changelog: std::regex: regex::dynamic(pattern) compiles a pattern known at run time to a regex::Regex[regex::Dynamic] (throws regex::Error), with is_match, find, find_all, captures (group, named), replace_all and split; a match is a text::Match with m.text(), a view of the searched text (positions come with ADR-374).
Model: Opus 5.5
Pushed: rejected