diff options
author | SoniEx2 <endermoneymod@gmail.com> | 2022-10-10 23:50:37 -0300 |
---|---|---|
committer | SoniEx2 <endermoneymod@gmail.com> | 2022-10-10 23:50:37 -0300 |
commit | dcf5620842edb8a4632cde794c8e511e075d3662 (patch) | |
tree | f96498f2a455ce092a32b83c00e999102b5edd31 /src/pattern.rs | |
parent | f0e944696144016ca59aaed02381f7ea9d1ef848 (diff) |
Initial implementation of Packer::deserialize
Diffstat (limited to 'src/pattern.rs')
-rw-r--r-- | src/pattern.rs | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/pattern.rs b/src/pattern.rs index 0fc6acd..a0c0ec3 100644 --- a/src/pattern.rs +++ b/src/pattern.rs @@ -42,9 +42,18 @@ impl<O: Serialize> Pattern<O> { De: Deserialize<'de>, { let mut err = Default::default(); - let interp = vm::Interpreter::new(&self.consts, &mut err); - let pack = vm::Packer::new(interp, MAX_CALLS).deserialize(der)?; - let de = De::deserialize(vm::Unpacker::new(pack.0, MAX_CALLS)); + let frames = Default::default(); + //let mut output = Default::default(); + let interp = vm::Interpreter::new( + &self.consts, + &mut err, + &frames, + //&mut output, + ); + let (pack, obj) = vm::Packer::new(interp, MAX_CALLS).deserialize(der)?; + // this should always be None + debug_assert!(obj.is_none()); + let de = De::deserialize(vm::Unpacker::new(pack, MAX_CALLS)); todo!() } } |