regenerated
diff --git a/tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1.-Pgen-PER b/tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1.-Pgen-PER
index aa6e9aa..b553308 100644
--- a/tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1.-Pgen-PER
+++ b/tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1.-Pgen-PER
@@ -25,9 +25,7 @@
 		.tag_mode = 0,
 		.type = &asn_DEF_SpecializedContent_30P0,
 		.type_selector = 0,
-		.memb_constraints = 0,	/* Defer constraints checking to the member type */
-		.oer_constraints = 0,	/* OER is not compiled, use -gen-OER */
-		.per_constraints = 0,	/* No PER visible constraints */
+		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
 		.default_value = 0,
 		.name = "content"
 		},
@@ -51,15 +49,13 @@
 	"Message",
 	"Message",
 	&asn_OP_SEQUENCE,
-	SEQUENCE_constraint,
 	asn_DEF_Message_tags_1,
 	sizeof(asn_DEF_Message_tags_1)
 		/sizeof(asn_DEF_Message_tags_1[0]), /* 1 */
 	asn_DEF_Message_tags_1,	/* Same as above */
 	sizeof(asn_DEF_Message_tags_1)
 		/sizeof(asn_DEF_Message_tags_1[0]), /* 1 */
-	0,	/* No OER visible constraints */
-	0,	/* No PER visible constraints */
+	{ 0, 0, SEQUENCE_constraint },
 	asn_MBR_Message_1,
 	1,	/* Elements count */
 	&asn_SPC_Message_specs_1	/* Additional specs */
@@ -141,7 +137,7 @@
 		/* Nothing is here. See below */
 	}
 	
-	return td->check_constraints(td, sptr, ctfailcb, app_key);
+	return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
 }
 
 static asn_type_selector_result_t
@@ -183,7 +179,7 @@
 		/* Nothing is here. See below */
 	}
 	
-	return td->check_constraints(td, sptr, ctfailcb, app_key);
+	return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
 }
 
 
@@ -208,9 +204,7 @@
 		.tag_mode = 0,
 		.type = &asn_DEF_NativeInteger,
 		.type_selector = 0,
-		.memb_constraints = 0,	/* Defer constraints checking to the member type */
-		.oer_constraints = 0,	/* OER is not compiled, use -gen-OER */
-		.per_constraints = 0,	/* No PER visible constraints */
+		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
 		.default_value = 0,
 		.name = "INTEGER"
 		},
@@ -219,9 +213,7 @@
 		.tag_mode = 0,
 		.type = &asn_DEF_BOOLEAN,
 		.type_selector = 0,
-		.memb_constraints = 0,	/* Defer constraints checking to the member type */
-		.oer_constraints = 0,	/* OER is not compiled, use -gen-OER */
-		.per_constraints = 0,	/* No PER visible constraints */
+		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
 		.default_value = 0,
 		.name = "BOOLEAN"
 		},
@@ -246,13 +238,11 @@
 	"value",
 	"value",
 	&asn_OP_OPEN_TYPE,
-	OPEN_TYPE_constraint,
 	0,	/* No effective tags (pointer) */
 	0,	/* No effective tags (count) */
 	0,	/* No tags (pointer) */
 	0,	/* No tags (count) */
-	0,	/* No OER visible constraints */
-	0,	/* No PER visible constraints */
+	{ 0, 0, OPEN_TYPE_constraint },
 	asn_MBR_value_3,
 	2,	/* Elements count */
 	&asn_SPC_value_specs_3	/* Additional specs */
@@ -264,9 +254,7 @@
 		.tag_mode = 0,
 		.type = &asn_DEF_NativeInteger,
 		.type_selector = 0,
-		.memb_constraints = memb_id_constraint_1,
-		.oer_constraints = 0,	/* OER is not compiled, use -gen-OER */
-		.per_constraints = &asn_PER_memb_id_constr_2,
+		{ .oer_constraints = 0, .per_constraints = &asn_PER_memb_id_constr_2, .general_constraints =  memb_id_constraint_1 },
 		.default_value = 0,
 		.name = "id"
 		},
@@ -275,9 +263,7 @@
 		.tag_mode = 0,
 		.type = &asn_DEF_value_3,
 		.type_selector = select_value_type,
-		.memb_constraints = memb_value_constraint_1,
-		.oer_constraints = 0,	/* OER is not compiled, use -gen-OER */
-		.per_constraints = &asn_PER_memb_value_constr_3,
+		{ .oer_constraints = 0, .per_constraints = &asn_PER_memb_value_constr_3, .general_constraints =  memb_value_constraint_1 },
 		.default_value = 0,
 		.name = "value"
 		},
@@ -301,15 +287,13 @@
 	"SpecializedContent",
 	"SpecializedContent",
 	&asn_OP_SEQUENCE,
-	SEQUENCE_constraint,
 	asn_DEF_SpecializedContent_30P0_tags_1,
 	sizeof(asn_DEF_SpecializedContent_30P0_tags_1)
 		/sizeof(asn_DEF_SpecializedContent_30P0_tags_1[0]), /* 1 */
 	asn_DEF_SpecializedContent_30P0_tags_1,	/* Same as above */
 	sizeof(asn_DEF_SpecializedContent_30P0_tags_1)
 		/sizeof(asn_DEF_SpecializedContent_30P0_tags_1[0]), /* 1 */
-	0,	/* No OER visible constraints */
-	0,	/* No PER visible constraints */
+	{ 0, 0, SEQUENCE_constraint },
 	asn_MBR_SpecializedContent_30P0_1,
 	2,	/* Elements count */
 	&asn_SPC_SpecializedContent_30P0_specs_1	/* Additional specs */