# A new call with <3, 2> (instead of <2, 3>) for both dimensions will
# trigger another specialization of `multiply_transpose`.
- var e = multiply_transpose(b, c);
+ var e = multiply_transpose(c, d);
# Finally, calling into `multiply_transpose` with incompatible shape will
# trigger a shape inference error.
]
VarDecl e<> @test/Examples/Toy/Ch1/ast.toy:25:3
Call 'multiply_transpose' [ @test/Examples/Toy/Ch1/ast.toy:25:11
- var: b @test/Examples/Toy/Ch1/ast.toy:25:30
- var: c @test/Examples/Toy/Ch1/ast.toy:25:33
+ var: c @test/Examples/Toy/Ch1/ast.toy:25:30
+ var: d @test/Examples/Toy/Ch1/ast.toy:25:33
]
VarDecl f<> @test/Examples/Toy/Ch1/ast.toy:28:3
Call 'multiply_transpose' [ @test/Examples/Toy/Ch1/ast.toy:28:11
var b<2, 3> = [1, 2, 3, 4, 5, 6];
# This call will specialize `multiply_transpose` with <2, 3> for both
- # arguments and deduce a return type of <2, 2> in initialization of `c`.
+ # arguments and deduce a return type of <3, 2> in initialization of `c`.
var c = multiply_transpose(a, b);
# A second call to `multiply_transpose` with <2, 3> for both arguments will
- # reuse the previously specialized and inferred version and return `<2, 2>`
+ # reuse the previously specialized and inferred version and return `<3, 2>`
var d = multiply_transpose(b, a);
- # A new call with `<2, 2>` for both dimension will trigger another
+ # A new call with `<3, 2>` for both dimension will trigger another
# specialization of `multiply_transpose`.
- var e = multiply_transpose(b, c);
+ var e = multiply_transpose(c, d);
# Finally, calling into `multiply_transpose` with incompatible shape will
# trigger a shape inference error.
var f = multiply_transpose(transpose(a), c);
# CHECK-NEXT: ]
# CHECK-NEXT: VarDecl e<> @{{.*}}ast.toy:25:3
# CHECK-NEXT: Call 'multiply_transpose' [ @{{.*}}ast.toy:25:11
-# CHECK-NEXT: var: b @{{.*}}ast.toy:25:30
-# CHECK-NEXT: var: c @{{.*}}ast.toy:25:33
+# CHECK-NEXT: var: c @{{.*}}ast.toy:25:30
+# CHECK-NEXT: var: d @{{.*}}ast.toy:25:33
# CHECK-NEXT: ]
# CHECK-NEXT: VarDecl f<> @{{.*}}ast.toy:28:3
# CHECK-NEXT: Call 'multiply_transpose' [ @{{.*}}ast.toy:28:11