Skip to content

Implicit omit doesn't work on references

If a reference with the 'implicit omit' attribute refers to a constant or template, which does not have the 'implicit omit' attribute, then 'implicit omit' is ignored.

Example (from the TTCN-3 standard):

type record R { 
 integer f1, 
 integer f2 optional, 
 integer f3, 
 integer f4 optional, 
 integer f5 optional
 } 

const R c_x3 := { 1, -, 2 } 
 // after the assignment c_x3 contains { 1, <undefined>, 2, <undefined>, <undefined>} 
 const R c_x4 := c_x3 with { optional "implicit omit" } 
 // after the assignment c_x4 contains { 1, omit, 2, omit, omit } 

The 'implicit omit' attribute is ignored and the value of c_x4 is the same as c_x3.

/cc @aknappqwt @mmagyari