summaryrefslogtreecommitdiff
path: root/Test/test20/TypeSynonyms0.bpl
blob: 1703f4a741b1613b878d4f1ac1c1d69f9bdb51d1 (plain)
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
27
28
29
30
31
32
33
// RUN: %boogie -noVerify "%s" > "%t"
// RUN: %diff "%s.expect" "%t"
// RUN: %boogie -noVerify -print:- -env:0 "%s" > "%t"
// RUN: %diff "%s.print.expect" "%t"


type Set a = [a]bool;

type Field a, Heap = <a>[ref, Field a]a;

type notAllParams a b = Field b;

type Cyclic0 = Cyclic1;
type Cyclic1 = Cyclic0;

type AlsoCyclic a = <b>[AlsoCyclic b]int;

type C a b;

type C2 b a = C a b;

function f(C int bool) returns (int);
const x : C2 bool int;


const y : Field int bool;       // wrong number of arguments
const z : Set int bool;         // wrong number of arguments


const d : <a,b>[notAllParams a b]int;         // error: not all parameters are used


type ref;