wgsl: Replace [[decoration]] with @decoration

Deprecate the old syntax. Migrate everything to the new syntax.

Bug: tint:1382
Change-Id: Ide12b2e927b17dc93b9714c7049090864cc568d3
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/77260
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: David Neto <dneto@google.com>
diff --git a/test/ptr_ref/access/matrix.spvasm.expected.wgsl b/test/ptr_ref/access/matrix.spvasm.expected.wgsl
index 54e50e7..45ab66f 100644
--- a/test/ptr_ref/access/matrix.spvasm.expected.wgsl
+++ b/test/ptr_ref/access/matrix.spvasm.expected.wgsl
@@ -5,7 +5,7 @@
   return;
 }
 
-[[stage(compute), workgroup_size(1, 1, 1)]]
+@stage(compute) @workgroup_size(1, 1, 1)
 fn main() {
   main_1();
 }
diff --git a/test/ptr_ref/access/matrix.wgsl b/test/ptr_ref/access/matrix.wgsl
index 1347133..a085846 100644
--- a/test/ptr_ref/access/matrix.wgsl
+++ b/test/ptr_ref/access/matrix.wgsl
@@ -1,4 +1,4 @@
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   var m : mat3x3<f32> = mat3x3<f32>(vec3<f32>(1., 2., 3.), vec3<f32>(4., 5., 6.), vec3<f32>(7., 8., 9.));
   let v : ptr<function, vec3<f32>> = &m[1];
diff --git a/test/ptr_ref/access/matrix.wgsl.expected.wgsl b/test/ptr_ref/access/matrix.wgsl.expected.wgsl
index 8356471..110e6e6 100644
--- a/test/ptr_ref/access/matrix.wgsl.expected.wgsl
+++ b/test/ptr_ref/access/matrix.wgsl.expected.wgsl
@@ -1,4 +1,4 @@
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   var m : mat3x3<f32> = mat3x3<f32>(vec3<f32>(1.0, 2.0, 3.0), vec3<f32>(4.0, 5.0, 6.0), vec3<f32>(7.0, 8.0, 9.0));
   let v : ptr<function, vec3<f32>> = &(m[1]);
diff --git a/test/ptr_ref/copy/ptr_copy.spvasm.expected.wgsl b/test/ptr_ref/copy/ptr_copy.spvasm.expected.wgsl
index 512d5c8..82d9c5a 100644
--- a/test/ptr_ref/copy/ptr_copy.spvasm.expected.wgsl
+++ b/test/ptr_ref/copy/ptr_copy.spvasm.expected.wgsl
@@ -5,7 +5,7 @@
   return;
 }
 
-[[stage(compute), workgroup_size(1, 1, 1)]]
+@stage(compute) @workgroup_size(1, 1, 1)
 fn main() {
   main_1();
 }
diff --git a/test/ptr_ref/load/global/i32.spvasm.expected.wgsl b/test/ptr_ref/load/global/i32.spvasm.expected.wgsl
index 2f193e8..fa2c115 100644
--- a/test/ptr_ref/load/global/i32.spvasm.expected.wgsl
+++ b/test/ptr_ref/load/global/i32.spvasm.expected.wgsl
@@ -6,7 +6,7 @@
   return;
 }
 
-[[stage(compute), workgroup_size(1, 1, 1)]]
+@stage(compute) @workgroup_size(1, 1, 1)
 fn main() {
   main_1();
 }
diff --git a/test/ptr_ref/load/global/i32.wgsl b/test/ptr_ref/load/global/i32.wgsl
index b0e73b6..4f620cf 100644
--- a/test/ptr_ref/load/global/i32.wgsl
+++ b/test/ptr_ref/load/global/i32.wgsl
@@ -1,6 +1,6 @@
 var<private> I : i32;
 
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   let i : i32 = I;
   let use : i32 = i + 1;
diff --git a/test/ptr_ref/load/global/i32.wgsl.expected.wgsl b/test/ptr_ref/load/global/i32.wgsl.expected.wgsl
index e3d286d..5e1feea 100644
--- a/test/ptr_ref/load/global/i32.wgsl.expected.wgsl
+++ b/test/ptr_ref/load/global/i32.wgsl.expected.wgsl
@@ -1,6 +1,6 @@
 var<private> I : i32;
 
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   let i : i32 = I;
   let use : i32 = (i + 1);
diff --git a/test/ptr_ref/load/global/struct_field.spvasm.expected.wgsl b/test/ptr_ref/load/global/struct_field.spvasm.expected.wgsl
index 67eba57..6d6d8e6 100644
--- a/test/ptr_ref/load/global/struct_field.spvasm.expected.wgsl
+++ b/test/ptr_ref/load/global/struct_field.spvasm.expected.wgsl
@@ -11,7 +11,7 @@
   return;
 }
 
-[[stage(compute), workgroup_size(1, 1, 1)]]
+@stage(compute) @workgroup_size(1, 1, 1)
 fn main() {
   main_1();
 }
diff --git a/test/ptr_ref/load/global/struct_field.wgsl b/test/ptr_ref/load/global/struct_field.wgsl
index 074fe80..e4341ca 100644
--- a/test/ptr_ref/load/global/struct_field.wgsl
+++ b/test/ptr_ref/load/global/struct_field.wgsl
@@ -4,7 +4,7 @@
 
 var<private> V : S;
 
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   let i : i32 = V.i;
 }
diff --git a/test/ptr_ref/load/global/struct_field.wgsl.expected.wgsl b/test/ptr_ref/load/global/struct_field.wgsl.expected.wgsl
index d0b3e34..59395f9 100644
--- a/test/ptr_ref/load/global/struct_field.wgsl.expected.wgsl
+++ b/test/ptr_ref/load/global/struct_field.wgsl.expected.wgsl
@@ -4,7 +4,7 @@
 
 var<private> V : S;
 
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   let i : i32 = V.i;
 }
diff --git a/test/ptr_ref/load/local/i32.spvasm.expected.wgsl b/test/ptr_ref/load/local/i32.spvasm.expected.wgsl
index 89d3a08..22952b8 100644
--- a/test/ptr_ref/load/local/i32.spvasm.expected.wgsl
+++ b/test/ptr_ref/load/local/i32.spvasm.expected.wgsl
@@ -6,7 +6,7 @@
   return;
 }
 
-[[stage(compute), workgroup_size(1, 1, 1)]]
+@stage(compute) @workgroup_size(1, 1, 1)
 fn main() {
   main_1();
 }
diff --git a/test/ptr_ref/load/local/i32.wgsl b/test/ptr_ref/load/local/i32.wgsl
index f01042b..6c30f81 100644
--- a/test/ptr_ref/load/local/i32.wgsl
+++ b/test/ptr_ref/load/local/i32.wgsl
@@ -1,4 +1,4 @@
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   var i : i32 = 123;
   let use : i32 = i + 1;
diff --git a/test/ptr_ref/load/local/i32.wgsl.expected.wgsl b/test/ptr_ref/load/local/i32.wgsl.expected.wgsl
index d08fa3d..587375e 100644
--- a/test/ptr_ref/load/local/i32.wgsl.expected.wgsl
+++ b/test/ptr_ref/load/local/i32.wgsl.expected.wgsl
@@ -1,4 +1,4 @@
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   var i : i32 = 123;
   let use : i32 = (i + 1);
diff --git a/test/ptr_ref/load/local/ptr_function.wgsl b/test/ptr_ref/load/local/ptr_function.wgsl
index df53774..ddaafb2 100644
--- a/test/ptr_ref/load/local/ptr_function.wgsl
+++ b/test/ptr_ref/load/local/ptr_function.wgsl
@@ -1,4 +1,4 @@
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   var i : i32 = 123;
   let p : ptr<function, i32> = &i;
diff --git a/test/ptr_ref/load/local/ptr_function.wgsl.expected.wgsl b/test/ptr_ref/load/local/ptr_function.wgsl.expected.wgsl
index 4bd46dd..e29289c 100644
--- a/test/ptr_ref/load/local/ptr_function.wgsl.expected.wgsl
+++ b/test/ptr_ref/load/local/ptr_function.wgsl.expected.wgsl
@@ -1,4 +1,4 @@
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   var i : i32 = 123;
   let p : ptr<function, i32> = &(i);
diff --git a/test/ptr_ref/load/local/ptr_private.wgsl b/test/ptr_ref/load/local/ptr_private.wgsl
index b9d231f..0f59ad5 100644
--- a/test/ptr_ref/load/local/ptr_private.wgsl
+++ b/test/ptr_ref/load/local/ptr_private.wgsl
@@ -1,6 +1,6 @@
 var<private> i : i32 = 123;
 
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   let p : ptr<private, i32> = &i;
   let use : i32 = *p + 1;
diff --git a/test/ptr_ref/load/local/ptr_private.wgsl.expected.wgsl b/test/ptr_ref/load/local/ptr_private.wgsl.expected.wgsl
index 4c92811..9b77f46 100644
--- a/test/ptr_ref/load/local/ptr_private.wgsl.expected.wgsl
+++ b/test/ptr_ref/load/local/ptr_private.wgsl.expected.wgsl
@@ -1,6 +1,6 @@
 var<private> i : i32 = 123;
 
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   let p : ptr<private, i32> = &(i);
   let use : i32 = (*(p) + 1);
diff --git a/test/ptr_ref/load/local/ptr_storage.wgsl b/test/ptr_ref/load/local/ptr_storage.wgsl
index 1b1bfba..e50f835 100644
--- a/test/ptr_ref/load/local/ptr_storage.wgsl
+++ b/test/ptr_ref/load/local/ptr_storage.wgsl
@@ -2,10 +2,10 @@
   a : i32;
 };
 
-[[group(0), binding(0)]]
+@group(0) @binding(0)
 var<storage, read_write> v : S;
 
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   let p : ptr<storage, i32, read_write> = &v.a;
   let use : i32 = *p + 1;
diff --git a/test/ptr_ref/load/local/ptr_storage.wgsl.expected.wgsl b/test/ptr_ref/load/local/ptr_storage.wgsl.expected.wgsl
index 3111c5f..ecef085 100644
--- a/test/ptr_ref/load/local/ptr_storage.wgsl.expected.wgsl
+++ b/test/ptr_ref/load/local/ptr_storage.wgsl.expected.wgsl
@@ -2,9 +2,9 @@
   a : i32;
 }
 
-[[group(0), binding(0)]] var<storage, read_write> v : S;
+@group(0) @binding(0) var<storage, read_write> v : S;
 
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   let p : ptr<storage, i32, read_write> = &(v.a);
   let use : i32 = (*(p) + 1);
diff --git a/test/ptr_ref/load/local/ptr_uniform.wgsl b/test/ptr_ref/load/local/ptr_uniform.wgsl
index 1d0e355..49328ac 100644
--- a/test/ptr_ref/load/local/ptr_uniform.wgsl
+++ b/test/ptr_ref/load/local/ptr_uniform.wgsl
@@ -2,10 +2,10 @@
   a : i32;
 };
 
-[[group(0), binding(0)]]
+@group(0) @binding(0)
 var<uniform> v : S;
 
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   let p : ptr<uniform, i32> = &v.a;
   let use : i32 = *p + 1;
diff --git a/test/ptr_ref/load/local/ptr_uniform.wgsl.expected.wgsl b/test/ptr_ref/load/local/ptr_uniform.wgsl.expected.wgsl
index b6f8628..dabfd63 100644
--- a/test/ptr_ref/load/local/ptr_uniform.wgsl.expected.wgsl
+++ b/test/ptr_ref/load/local/ptr_uniform.wgsl.expected.wgsl
@@ -2,9 +2,9 @@
   a : i32;
 }
 
-[[group(0), binding(0)]] var<uniform> v : S;
+@group(0) @binding(0) var<uniform> v : S;
 
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   let p : ptr<uniform, i32> = &(v.a);
   let use : i32 = (*(p) + 1);
diff --git a/test/ptr_ref/load/local/ptr_workgroup.wgsl b/test/ptr_ref/load/local/ptr_workgroup.wgsl
index eb7dae9..269caa5 100644
--- a/test/ptr_ref/load/local/ptr_workgroup.wgsl
+++ b/test/ptr_ref/load/local/ptr_workgroup.wgsl
@@ -1,6 +1,6 @@
 var<workgroup> i : i32;
 
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   i = 123;
   let p : ptr<workgroup, i32> = &i;
diff --git a/test/ptr_ref/load/local/ptr_workgroup.wgsl.expected.wgsl b/test/ptr_ref/load/local/ptr_workgroup.wgsl.expected.wgsl
index cf84d58..39ea1f5 100644
--- a/test/ptr_ref/load/local/ptr_workgroup.wgsl.expected.wgsl
+++ b/test/ptr_ref/load/local/ptr_workgroup.wgsl.expected.wgsl
@@ -1,6 +1,6 @@
 var<workgroup> i : i32;
 
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   i = 123;
   let p : ptr<workgroup, i32> = &(i);
diff --git a/test/ptr_ref/load/local/struct_field.spvasm.expected.wgsl b/test/ptr_ref/load/local/struct_field.spvasm.expected.wgsl
index ea14750..9b15ec1 100644
--- a/test/ptr_ref/load/local/struct_field.spvasm.expected.wgsl
+++ b/test/ptr_ref/load/local/struct_field.spvasm.expected.wgsl
@@ -10,7 +10,7 @@
   return;
 }
 
-[[stage(compute), workgroup_size(1, 1, 1)]]
+@stage(compute) @workgroup_size(1, 1, 1)
 fn main() {
   main_1();
 }
diff --git a/test/ptr_ref/load/local/struct_field.wgsl b/test/ptr_ref/load/local/struct_field.wgsl
index 18aca63..60b9af5 100644
--- a/test/ptr_ref/load/local/struct_field.wgsl
+++ b/test/ptr_ref/load/local/struct_field.wgsl
@@ -2,7 +2,7 @@
   i : i32;
 };
 
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   var V : S;
   var i : i32 = V.i;
diff --git a/test/ptr_ref/load/local/struct_field.wgsl.expected.wgsl b/test/ptr_ref/load/local/struct_field.wgsl.expected.wgsl
index 7bbcb5a..056bf95 100644
--- a/test/ptr_ref/load/local/struct_field.wgsl.expected.wgsl
+++ b/test/ptr_ref/load/local/struct_field.wgsl.expected.wgsl
@@ -2,7 +2,7 @@
   i : i32;
 }
 
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   var V : S;
   var i : i32 = V.i;
diff --git a/test/ptr_ref/load/param/ptr.spvasm.expected.wgsl b/test/ptr_ref/load/param/ptr.spvasm.expected.wgsl
index 05c17cf..e8df997 100644
--- a/test/ptr_ref/load/param/ptr.spvasm.expected.wgsl
+++ b/test/ptr_ref/load/param/ptr.spvasm.expected.wgsl
@@ -11,7 +11,7 @@
   return;
 }
 
-[[stage(compute), workgroup_size(1, 1, 1)]]
+@stage(compute) @workgroup_size(1, 1, 1)
 fn main() {
   main_1();
 }
diff --git a/test/ptr_ref/load/param/ptr.wgsl b/test/ptr_ref/load/param/ptr.wgsl
index 3348240..1dfc928 100644
--- a/test/ptr_ref/load/param/ptr.wgsl
+++ b/test/ptr_ref/load/param/ptr.wgsl
@@ -2,7 +2,7 @@
   return value + *pointer;
 }
 
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   var i : i32 = 123;
   let r : i32 = func(i, &i);
diff --git a/test/ptr_ref/load/param/ptr.wgsl.expected.wgsl b/test/ptr_ref/load/param/ptr.wgsl.expected.wgsl
index 812dfea..68c51db 100644
--- a/test/ptr_ref/load/param/ptr.wgsl.expected.wgsl
+++ b/test/ptr_ref/load/param/ptr.wgsl.expected.wgsl
@@ -2,7 +2,7 @@
   return (value + *(pointer));
 }
 
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   var i : i32 = 123;
   let r : i32 = func(i, &(i));
diff --git a/test/ptr_ref/store/global/i32.spvasm.expected.wgsl b/test/ptr_ref/store/global/i32.spvasm.expected.wgsl
index b48aa90..d50fc89 100644
--- a/test/ptr_ref/store/global/i32.spvasm.expected.wgsl
+++ b/test/ptr_ref/store/global/i32.spvasm.expected.wgsl
@@ -6,7 +6,7 @@
   return;
 }
 
-[[stage(compute), workgroup_size(1, 1, 1)]]
+@stage(compute) @workgroup_size(1, 1, 1)
 fn main() {
   main_1();
 }
diff --git a/test/ptr_ref/store/global/i32.wgsl b/test/ptr_ref/store/global/i32.wgsl
index 9254513..3a5c72e 100644
--- a/test/ptr_ref/store/global/i32.wgsl
+++ b/test/ptr_ref/store/global/i32.wgsl
@@ -1,6 +1,6 @@
 var<private> I : i32;
 
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   I = 123; // constant
   I = 100 + 20 + 3; // dynamic
diff --git a/test/ptr_ref/store/global/i32.wgsl.expected.wgsl b/test/ptr_ref/store/global/i32.wgsl.expected.wgsl
index 8b8367d..807c1cd 100644
--- a/test/ptr_ref/store/global/i32.wgsl.expected.wgsl
+++ b/test/ptr_ref/store/global/i32.wgsl.expected.wgsl
@@ -1,6 +1,6 @@
 var<private> I : i32;
 
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   I = 123;
   I = ((100 + 20) + 3);
diff --git a/test/ptr_ref/store/global/struct_field.spvasm.expected.wgsl b/test/ptr_ref/store/global/struct_field.spvasm.expected.wgsl
index e70b574..7ed0977 100644
--- a/test/ptr_ref/store/global/struct_field.spvasm.expected.wgsl
+++ b/test/ptr_ref/store/global/struct_field.spvasm.expected.wgsl
@@ -9,7 +9,7 @@
   return;
 }
 
-[[stage(compute), workgroup_size(1, 1, 1)]]
+@stage(compute) @workgroup_size(1, 1, 1)
 fn main() {
   main_1();
 }
diff --git a/test/ptr_ref/store/local/i32.spvasm.expected.wgsl b/test/ptr_ref/store/local/i32.spvasm.expected.wgsl
index 64f3744..822c64b 100644
--- a/test/ptr_ref/store/local/i32.spvasm.expected.wgsl
+++ b/test/ptr_ref/store/local/i32.spvasm.expected.wgsl
@@ -6,7 +6,7 @@
   return;
 }
 
-[[stage(compute), workgroup_size(1, 1, 1)]]
+@stage(compute) @workgroup_size(1, 1, 1)
 fn main() {
   main_1();
 }
diff --git a/test/ptr_ref/store/local/i32.wgsl b/test/ptr_ref/store/local/i32.wgsl
index 77578a7..ea390b9 100644
--- a/test/ptr_ref/store/local/i32.wgsl
+++ b/test/ptr_ref/store/local/i32.wgsl
@@ -1,4 +1,4 @@
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   var i : i32 = 123;
   let p : ptr<function, i32> = &i;
diff --git a/test/ptr_ref/store/local/i32.wgsl.expected.wgsl b/test/ptr_ref/store/local/i32.wgsl.expected.wgsl
index 2690a1a..c5f03d5 100644
--- a/test/ptr_ref/store/local/i32.wgsl.expected.wgsl
+++ b/test/ptr_ref/store/local/i32.wgsl.expected.wgsl
@@ -1,4 +1,4 @@
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   var i : i32 = 123;
   let p : ptr<function, i32> = &(i);
diff --git a/test/ptr_ref/store/local/struct_field.spvasm.expected.wgsl b/test/ptr_ref/store/local/struct_field.spvasm.expected.wgsl
index b3b95df..bcc1680 100644
--- a/test/ptr_ref/store/local/struct_field.spvasm.expected.wgsl
+++ b/test/ptr_ref/store/local/struct_field.spvasm.expected.wgsl
@@ -8,7 +8,7 @@
   return;
 }
 
-[[stage(compute), workgroup_size(1, 1, 1)]]
+@stage(compute) @workgroup_size(1, 1, 1)
 fn main() {
   main_1();
 }
diff --git a/test/ptr_ref/store/param/ptr.spvasm.expected.wgsl b/test/ptr_ref/store/param/ptr.spvasm.expected.wgsl
index 30fdea1..c505b66 100644
--- a/test/ptr_ref/store/param/ptr.spvasm.expected.wgsl
+++ b/test/ptr_ref/store/param/ptr.spvasm.expected.wgsl
@@ -10,7 +10,7 @@
   return;
 }
 
-[[stage(compute), workgroup_size(1, 1, 1)]]
+@stage(compute) @workgroup_size(1, 1, 1)
 fn main() {
   main_1();
 }
diff --git a/test/ptr_ref/store/param/ptr.wgsl b/test/ptr_ref/store/param/ptr.wgsl
index f4225f0..b23ad6f 100644
--- a/test/ptr_ref/store/param/ptr.wgsl
+++ b/test/ptr_ref/store/param/ptr.wgsl
@@ -2,7 +2,7 @@
   *pointer = value;
 }
 
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   var i : i32 = 123;
   func(123, &i);
diff --git a/test/ptr_ref/store/param/ptr.wgsl.expected.wgsl b/test/ptr_ref/store/param/ptr.wgsl.expected.wgsl
index 05d2d40..d9d6dbb 100644
--- a/test/ptr_ref/store/param/ptr.wgsl.expected.wgsl
+++ b/test/ptr_ref/store/param/ptr.wgsl.expected.wgsl
@@ -2,7 +2,7 @@
   *(pointer) = value;
 }
 
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   var i : i32 = 123;
   func(123, &(i));