[sv-ac] Example shown in LRM contradicts local variable restriction

From: Surya Pratik Saha <spsaha_at_.....>
Date: Tue Dec 23 2008 - 23:11:19 PST
Hi,
In SV 2009 draft LRM, there is an example:
sequence sub_seq2(local inout int lv);
(a ##1 !a, lv += data_in)
##1 !b[*0:$] ##1 b && (data_out == lv);
endsequence
sequence seq2;
int v1;
(c, v1 = data)
##1 sub_seq2(v1) // lv is initialized by assigning it the value of v1;
// when the instance sub_seq2(v1) matches, v1 is
// assigned the value of lv
##1 (do1 == v1);
endsequence

And later it is mentioned:
It can be useful to assign a value to a local variable within an instance of a named sequence and reference the
local variable in the instantiating context at or after the completion of a match of the instance. This capability
is supported under the following conditions:
— The local variable shall be declared outside the named sequence, and its scope shall include both the
instance of the named sequence and the desired reference in the instantiating context.
— The local variable shall be passed as an entire actual argument in the list of arguments of the
instance of the named sequence.
The corresponding formal argument shall be untyped.

Whereas, in the example corresponding formal argument 'lv' is not untyped for local variable 'v1'. Am I missing anything?
-- 
Regards
Surya

--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean. Received on Tue Dec 23 23:12:52 2008

This archive was generated by hypermail 2.1.8 : Tue Dec 23 2008 - 23:13:42 PST