@@ -6,7 +6,7 @@ using Test
6
6
7
7
@testset " @syms" begin
8
8
let
9
- @syms a b:: Float64 f (:: Real ) g (p, h (q:: Real )):: Int
9
+ @syms a b:: Float64 f (:: Real ) g (p, h (q:: Real )):: Int
10
10
11
11
@test issym (a) && symtype (a) == Number
12
12
@test a. name === :a
@@ -16,9 +16,11 @@ using Test
16
16
17
17
@test issym (f)
18
18
@test f. name === :f
19
+ @test symtype (f) == FnType{Tuple{Real}, Number, Nothing}
19
20
20
21
@test issym (g)
21
22
@test g. name === :g
23
+ @test symtype (g) == FnType{Tuple{Number, FnType{Tuple{Real}, Number, Nothing}}, Int, Nothing}
22
24
23
25
@test isterm (f (b))
24
26
@test symtype (f (b)) === Number
@@ -32,6 +34,21 @@ using Test
32
34
# issue #91
33
35
@syms h (a,b,c)
34
36
@test isequal (h (1 ,2 ,3 ), h (1 ,2 ,3 ))
37
+
38
+ @syms (f:: typeof (max))(:: Real , :: AbstractFloat ):: Number a:: Real
39
+ @test issym (f)
40
+ @test f. name == :f
41
+ @test symtype (f) == FnType{Tuple{Real, AbstractFloat}, Number, typeof (max)}
42
+ @test isterm (f (a, b))
43
+ @test symtype (f (a, b)) == Number
44
+
45
+ @syms g (p, (h:: typeof (identity))(q:: Real ):: Number ):: Number
46
+ @test issym (g)
47
+ @test g. name == :g
48
+ @test symtype (g) == FnType{Tuple{Number, FnType{Tuple{Real}, Number, typeof (identity)}}, Number, Nothing}
49
+ @test_throws " not a subtype of" g (a, f)
50
+ @syms (f:: typeof (identity))(:: Real ):: Number
51
+ @test symtype (g (a, f)) == Number
35
52
end
36
53
end
37
54
0 commit comments