@@ -953,34 +953,40 @@ defmodule Nx.DefnTest do
953
953
954
954
describe "remote functions" do
955
955
defmodule Remote do
956
- defn ( add_two ( c , d ) , do: c + d )
956
+ defn add_two ( c , d ) , do: c + d
957
957
end
958
958
959
- defn ( add_two_remote ( a , b ) , do: Remote . add_two ( a , b ) )
959
+ defn add_two_remote ( a , b ) , do: Remote . add_two ( a , b )
960
960
961
961
test "public" do
962
962
assert % T { data: % Expr { op: :add , args: [ _ , _ ] } } = add_two_remote ( 1 , 2 )
963
963
end
964
964
965
- defn ( add_two_unknown ( a , b ) , do: Nx.DefnTest . unknown ( a , b ) )
965
+ defn add_two_dynamic ( a , b , opts \\ [ ] ) , do: opts [ :remote ] . add_two ( a , b )
966
966
967
- def not_defn ( a , b ) , do: Nx . add ( a , b )
968
- defn ( add_two_not_defn ( a , b ) , do: Nx.DefnTest . not_defn ( a , b ) )
967
+ test "dynamic" do
968
+ assert % T { data: % Expr { op: :add , args: [ _ , _ ] } } = add_two_remote ( 1 , 2 )
969
+ end
969
970
970
- defn ( add_two_io ( a , b ) , do: IO . inspect ( { a , b } ) )
971
+ defn add_two_unknown ( a , b ) , do: Nx.DefnTest . unknown ( a , b )
971
972
972
973
test "undefined remote" do
973
974
assert_raise UndefinedFunctionError ,
974
975
"function Nx.DefnTest.unknown/2 is undefined or private" ,
975
976
fn -> add_two_unknown ( 1 , 2 ) end
976
977
end
977
978
979
+ def not_defn ( a , b ) , do: Nx . add ( a , b )
980
+ defn add_two_not_defn ( a , b ) , do: Nx.DefnTest . not_defn ( a , b )
981
+
978
982
test "not defn remote" do
979
983
assert_raise RuntimeError ,
980
984
"cannot invoke Nx.DefnTest.not_defn/2 inside defn because it was not defined with defn" ,
981
985
fn -> add_two_not_defn ( 1 , 2 ) end
982
986
end
983
987
988
+ defn add_two_io ( a , b ) , do: IO . inspect ( { a , b } )
989
+
984
990
test "IO remote" do
985
991
assert_raise RuntimeError ,
986
992
"cannot invoke IO.inspect/1 inside defn because it was not defined with defn. " <>
0 commit comments