From 77af5e386af7cd0975b488fbd2048bf7ba39b2ee Mon Sep 17 00:00:00 2001
From: Quaternions <krakow20@gmail.com>
Date: Thu, 20 Mar 2025 20:06:05 -0700
Subject: [PATCH] refine BinRead Args tech

---
 src/v0.rs | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

diff --git a/src/v0.rs b/src/v0.rs
index d9e50c0..e7ad801 100644
--- a/src/v0.rs
+++ b/src/v0.rs
@@ -390,12 +390,8 @@ struct EventChunkHeader{
 	num_events:u32,
 }
 
-// first time I've managed to write BinRead generics without this stupid T::Args<'a>:Required thing blocking me
-fn read_data_into_events<'a,R:BinReaderExt,T>(data:&mut R,events:&mut Vec<T>,num_events:usize)->binrw::BinResult<()>
-where
-	T:binrw::BinRead,
-	T::Args<'a>:binrw::__private::Required,
-{
+// binread args tech has been further refined
+fn read_data_into_events<'a,R:BinReaderExt,T:binrw::BinRead<Args<'a>=()>>(data:&mut R,events:&mut Vec<T>,num_events:usize)->binrw::BinResult<()>{
 	// there is only supposed to be at most one of each type of event chunk per block, so no need to amortize.
 	events.reserve_exact(num_events);
 	for _ in 0..num_events{
@@ -403,11 +399,7 @@ where
 	}
 	Ok(())
 }
-fn read_data_into_events_amortized<'a,R:BinReaderExt,T>(data:&mut R,events:&mut Vec<T>,num_events:usize)->binrw::BinResult<()>
-where
-	T:binrw::BinRead,
-	T::Args<'a>:binrw::__private::Required,
-{
+fn read_data_into_events_amortized<'a,R:BinReaderExt,T:binrw::BinRead<Args<'a>=()>>(data:&mut R,events:&mut Vec<T>,num_events:usize)->binrw::BinResult<()>{
 	// this is used when reading multiple blocks into a single object, so amortize the allocation cost.
 	events.reserve(num_events);
 	for _ in 0..num_events{