@@ -31,12 +31,21 @@ impl ParameterLinkRefRule {
3131 & self , doc : & CatalystSignedDocument , provider : & Provider ,
3232 ) -> anyhow:: Result < bool >
3333 where Provider : CatalystSignedDocumentProvider {
34+ let context: & str = "Parameter link ref rule check" ;
3435 if let Self :: Specified { field } = self {
3536 let param_link_ref_validator = |ref_doc : CatalystSignedDocument | {
36- // The parameters MUST be the same
37- doc. doc_meta ( ) . parameters ( ) == ref_doc. doc_meta ( ) . parameters ( )
37+ // The parameters MUST be the same, if not record the error
38+ if doc. doc_meta ( ) . parameters ( ) != ref_doc. doc_meta ( ) . parameters ( ) {
39+ doc. report ( ) . invalid_value (
40+ "parameters" ,
41+ & format ! ( "Reference doc param: {:?}" , ref_doc. doc_meta( ) . parameters( ) ) ,
42+ & format ! ( "Doc param: {:?}" , doc. doc_meta( ) . parameters( ) ) ,
43+ & format ! ( "{context}, parameters must be the same" ) ,
44+ ) ;
45+ return false ;
46+ }
47+ true
3848 } ;
39-
4049 // Which field is use for linked reference
4150 let param_link_ref = match field {
4251 LinkField :: Ref => doc. doc_meta ( ) . doc_ref ( ) ,
@@ -45,7 +54,7 @@ impl ParameterLinkRefRule {
4554
4655 let Some ( param_link_ref) = param_link_ref else {
4756 doc. report ( )
48- . missing_field ( "Link ref" , " Invalid link reference") ;
57+ . missing_field ( "Link ref" , & format ! ( "{context}: Invalid link reference") ) ;
4958 return Ok ( false ) ;
5059 } ;
5160
0 commit comments