@@ -136,17 +136,41 @@ mod instance_validation {
136136 fn without_witness ( ) {
137137 let B = G :: generator ( ) ;
138138 let A = G :: generator ( ) * Scalar :: from ( 42 ) ;
139+ let X = G :: generator ( ) * Scalar :: from ( 4 ) ;
139140 let pub_scalar = Scalar :: from ( 42 ) ;
140141
141142 let mut linear_relation = LinearRelation :: < G > :: new ( ) ;
143+
142144 let B_var = linear_relation. allocate_element ( ) ;
143145 let A_var = linear_relation. allocate_element ( ) ;
144- let _X_var = linear_relation. allocate_eq ( B_var * pub_scalar + A_var * Scalar :: from ( 3 ) ) ;
146+ let X_var = linear_relation. allocate_eq ( B_var * pub_scalar + A_var * Scalar :: from ( 3 ) ) ;
147+
148+ linear_relation. set_element ( B_var , B ) ;
149+ linear_relation. set_element ( A_var , A ) ;
150+ linear_relation. set_element ( X_var , X ) ;
145151
146152 linear_relation. set_element ( B_var , B ) ;
147153 linear_relation. set_element ( A_var , A ) ;
148154 let result = CanonicalLinearRelation :: try_from ( & linear_relation) ;
149155 assert ! ( result. is_err( ) ) ;
156+
157+
158+ let mut linear_relation = LinearRelation :: < G > :: new ( ) ;
159+
160+ let x_var = linear_relation. allocate_scalar ( ) ;
161+ let B_var = linear_relation. allocate_element ( ) ;
162+ let A_var = linear_relation. allocate_element ( ) ;
163+ let X_var = linear_relation. allocate_eq ( B_var * x_var + B_var * pub_scalar + A_var * Scalar :: from ( 3 ) ) ;
164+
165+ linear_relation. set_element ( B_var , B ) ;
166+ linear_relation. set_element ( A_var , A ) ;
167+ linear_relation. set_element ( X_var , X ) ;
168+
169+ linear_relation. set_element ( B_var , B ) ;
170+ linear_relation. set_element ( A_var , A ) ;
171+ let result = CanonicalLinearRelation :: try_from ( & linear_relation) ;
172+ assert ! ( result. is_ok( ) ) ;
173+
150174 }
151175}
152176
0 commit comments