heh
dont require nightly
bendn 2023-12-13
parent aa75940 · commit ae38330
-rw-r--r--src/main.rs32
-rw-r--r--src/util.rs11
2 files changed, 21 insertions, 22 deletions
diff --git a/src/main.rs b/src/main.rs
index 96a8e2c..5f339cb 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,15 +1,15 @@
#![allow(confusable_idents, uncommon_codepoints, mixed_script_confusables)]
-#![feature(
- unchecked_math,
- array_windows,
- slice_take,
- test,
- slice_as_chunks,
- array_chunks,
- slice_split_once,
- byte_slice_trim_ascii
-)]
-extern crate test;
+// #![feature(
+// unchecked_math,
+// array_windows,
+// slice_take,
+// test,
+// slice_as_chunks,
+// array_chunks,
+// slice_split_once,
+// byte_slice_trim_ascii
+// )]
+// extern crate test;
mod util;
use std::{io::Write, ops::ControlFlow};
@@ -90,8 +90,8 @@ fn main() {
println!("{}", run(i));
}
-#[bench]
-fn bench(b: &mut test::Bencher) {
- let i = boxd(include_str!("inp.txt").trim());
- b.iter(|| run(i));
-}
+// #[bench]
+// fn bench(b: &mut test::Bencher) {
+// let i = boxd(include_str!("inp.txt").trim());
+// b.iter(|| run(i));
+// }
diff --git a/src/util.rs b/src/util.rs
index acb609d..0e07bc7 100644
--- a/src/util.rs
+++ b/src/util.rs
@@ -185,12 +185,11 @@ pub trait Μ where
impl Μ for &[u8] {
fn μ(self, d: char) -> (Self, Self) {
- self.split_once(|&x| x == d as u8).unwrap_or_else(|| {
- panic!(
- "{} should split at {d} fine",
- std::str::from_utf8(self).expect("utf8")
- )
- })
+ let i = self
+ .iter()
+ .position(|&x| x == d as u8)
+ .unwrap_or_else(|| panic!("{} should split at {d} fine", self.p(),));
+ (&self[..i], &self[i + 1..])
}
fn μκ<T: FromStr>(self, d: char) -> impl Iterator<Item = (T, T)>