File: type-shadowing2.m

package info (click to toggle)
rumur 2020.12.20-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 3,292 kB
  • sloc: cpp: 17,090; ansic: 2,537; objc: 1,542; python: 1,120; sh: 538; yacc: 536; lex: 229; lisp: 15; makefile: 5
file content (26 lines) | stat: -rw-r--r-- 499 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
-- Test that a function parameter does not prevent referencing a type of the
-- same name in the return type. This is pretty strange code to write, but it
-- falls into that "you know what I meant" category. Also, it is possible for a
-- code generator to inadvertently produce code like this.

type
  t: 0 .. 1;

var
  x: boolean;

function foo(t: boolean): t; begin
  return 0;
end;

startstate begin
  x := true;
end;

rule begin
  if foo(x) = 0 then
    x := !x;
  else
    x := !x;
  end;
end;