@@ -253,59 +253,6 @@ impl<Pk: MiniscriptKey, Ctx: ScriptContext> Miniscript<Pk, Ctx> {
253
253
}
254
254
}
255
255
256
- /// `PartialOrd` of `Miniscript` must depend only on node and not the type information.
257
- ///
258
- /// The type information and extra properties are implied by the AST.
259
- impl < Pk : MiniscriptKey , Ctx : ScriptContext > PartialOrd for Miniscript < Pk , Ctx > {
260
- fn partial_cmp ( & self , other : & Miniscript < Pk , Ctx > ) -> Option < cmp:: Ordering > {
261
- Some ( self . node . cmp ( & other. node ) )
262
- }
263
- }
264
-
265
- /// `Ord` of `Miniscript` must depend only on node and not the type information.
266
- ///
267
- /// The type information and extra properties are implied by the AST.
268
- impl < Pk : MiniscriptKey , Ctx : ScriptContext > Ord for Miniscript < Pk , Ctx > {
269
- fn cmp ( & self , other : & Miniscript < Pk , Ctx > ) -> cmp:: Ordering {
270
- self . node . cmp ( & other. node )
271
- }
272
- }
273
-
274
- /// `PartialEq` of `Miniscript` must depend only on node and not the type information.
275
- ///
276
- /// The type information and extra properties are implied by the AST.
277
- impl < Pk : MiniscriptKey , Ctx : ScriptContext > PartialEq for Miniscript < Pk , Ctx > {
278
- fn eq ( & self , other : & Miniscript < Pk , Ctx > ) -> bool {
279
- self . node . eq ( & other. node )
280
- }
281
- }
282
-
283
- /// `Eq` of `Miniscript` must depend only on node and not the type information.
284
- ///
285
- /// The type information and extra properties are implied by the AST.
286
- impl < Pk : MiniscriptKey , Ctx : ScriptContext > Eq for Miniscript < Pk , Ctx > { }
287
-
288
- /// `Hash` of `Miniscript` must depend only on node and not the type information.
289
- ///
290
- /// The type information and extra properties are implied by the AST.
291
- impl < Pk : MiniscriptKey , Ctx : ScriptContext > hash:: Hash for Miniscript < Pk , Ctx > {
292
- fn hash < H : hash:: Hasher > ( & self , state : & mut H ) {
293
- self . node . hash ( state) ;
294
- }
295
- }
296
-
297
- impl < Pk : MiniscriptKey , Ctx : ScriptContext > fmt:: Debug for Miniscript < Pk , Ctx > {
298
- fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
299
- write ! ( f, "{:?}" , self . node)
300
- }
301
- }
302
-
303
- impl < Pk : MiniscriptKey , Ctx : ScriptContext > fmt:: Display for Miniscript < Pk , Ctx > {
304
- fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
305
- write ! ( f, "{}" , self . node)
306
- }
307
- }
308
-
309
256
impl < Ctx : ScriptContext > Miniscript < Ctx :: Key , Ctx > {
310
257
/// Attempt to parse an insane(scripts don't clear sanity checks)
311
258
/// script into a Miniscript representation.
@@ -385,6 +332,59 @@ impl<Ctx: ScriptContext> Miniscript<Ctx::Key, Ctx> {
385
332
}
386
333
}
387
334
335
+ /// `PartialOrd` of `Miniscript` must depend only on node and not the type information.
336
+ ///
337
+ /// The type information and extra properties are implied by the AST.
338
+ impl < Pk : MiniscriptKey , Ctx : ScriptContext > PartialOrd for Miniscript < Pk , Ctx > {
339
+ fn partial_cmp ( & self , other : & Miniscript < Pk , Ctx > ) -> Option < cmp:: Ordering > {
340
+ Some ( self . node . cmp ( & other. node ) )
341
+ }
342
+ }
343
+
344
+ /// `Ord` of `Miniscript` must depend only on node and not the type information.
345
+ ///
346
+ /// The type information and extra properties are implied by the AST.
347
+ impl < Pk : MiniscriptKey , Ctx : ScriptContext > Ord for Miniscript < Pk , Ctx > {
348
+ fn cmp ( & self , other : & Miniscript < Pk , Ctx > ) -> cmp:: Ordering {
349
+ self . node . cmp ( & other. node )
350
+ }
351
+ }
352
+
353
+ /// `PartialEq` of `Miniscript` must depend only on node and not the type information.
354
+ ///
355
+ /// The type information and extra properties are implied by the AST.
356
+ impl < Pk : MiniscriptKey , Ctx : ScriptContext > PartialEq for Miniscript < Pk , Ctx > {
357
+ fn eq ( & self , other : & Miniscript < Pk , Ctx > ) -> bool {
358
+ self . node . eq ( & other. node )
359
+ }
360
+ }
361
+
362
+ /// `Eq` of `Miniscript` must depend only on node and not the type information.
363
+ ///
364
+ /// The type information and extra properties are implied by the AST.
365
+ impl < Pk : MiniscriptKey , Ctx : ScriptContext > Eq for Miniscript < Pk , Ctx > { }
366
+
367
+ /// `Hash` of `Miniscript` must depend only on node and not the type information.
368
+ ///
369
+ /// The type information and extra properties are implied by the AST.
370
+ impl < Pk : MiniscriptKey , Ctx : ScriptContext > hash:: Hash for Miniscript < Pk , Ctx > {
371
+ fn hash < H : hash:: Hasher > ( & self , state : & mut H ) {
372
+ self . node . hash ( state) ;
373
+ }
374
+ }
375
+
376
+ impl < Pk : MiniscriptKey , Ctx : ScriptContext > fmt:: Debug for Miniscript < Pk , Ctx > {
377
+ fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
378
+ write ! ( f, "{:?}" , self . node)
379
+ }
380
+ }
381
+
382
+ impl < Pk : MiniscriptKey , Ctx : ScriptContext > fmt:: Display for Miniscript < Pk , Ctx > {
383
+ fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
384
+ write ! ( f, "{}" , self . node)
385
+ }
386
+ }
387
+
388
388
impl < Pk : MiniscriptKey , Ctx : ScriptContext > ForEachKey < Pk > for Miniscript < Pk , Ctx > {
389
389
fn for_each_key < ' a , F : FnMut ( & ' a Pk ) -> bool > ( & ' a self , mut pred : F ) -> bool {
390
390
for ms in self . pre_order_iter ( ) {
0 commit comments