Skip to content

Commit 31deee3

Browse files
authored
Merge pull request #69 from timholy/teh/inferrability
Add a few precompiles
2 parents cb4125e + 020841d commit 31deee3

File tree

4 files changed

+18
-5
lines changed

4 files changed

+18
-5
lines changed

.github/workflows/UnitTest.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ jobs:
1414
test:
1515
runs-on: ${{ matrix.os }}
1616
strategy:
17+
fail-fast: false
1718
matrix:
1819
julia-version: ['1.0', '1', 'nightly']
1920
os: [ubuntu-latest, windows-latest, macOS-latest]
@@ -30,7 +31,7 @@ jobs:
3031
env:
3132
cache-name: cache-artifacts
3233
with:
33-
path: ~/.julia/artifacts
34+
path: ~/.julia/artifacts
3435
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
3536
restore-keys: |
3637
${{ runner.os }}-test-${{ env.cache-name }}-

Project.toml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "ReferenceTests"
22
uuid = "324d217c-45ce-50fc-942e-d289b448e8cf"
33
authors = ["Christof Stocker <[email protected]>", "Lyndon White <[email protected]>", "Johnny Chen <[email protected]>"]
4-
version = "0.9.2"
4+
version = "0.9.3"
55

66
[deps]
77
DeepDiffs = "ab62b9b5-e342-54a8-a765-a90f495de1a6"
@@ -14,11 +14,16 @@ SHA = "ea8e919c-243c-51af-8825-aaa63cd721ce"
1414
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
1515

1616
[compat]
17+
CSVFiles = "1"
18+
DataFrames = "0.21, 0.22"
1719
DeepDiffs = "1.1"
1820
Distances = "0.7, 0.8, 0.9, 0.10"
1921
FileIO = "1"
2022
ImageCore = "0.8.1"
2123
ImageInTerminal = "0.3, 0.4"
24+
ImageMagick = "0.7, 1"
25+
ImageTransformations = "0.8"
26+
TestImages = "0.6, 1"
2227
julia = "1"
2328

2429
[extras]

src/ReferenceTests.jl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,11 @@ include("fileio.jl")
2121
include("equality_metrics.jl")
2222
include("render.jl")
2323

24+
if Base.VERSION >= v"1.4.2" && ccall(:jl_generating_output, Cint, ()) == 1
25+
@assert precompile(Tuple{Core.kwftype(typeof(test_reference)),NamedTuple{(:by,), Tuple{typeof(isequal)}},typeof(test_reference),String,Matrix{RGB{Float64}}}) # time: 0.4697069
26+
@assert precompile(Tuple{Core.kwftype(typeof(test_reference)),NamedTuple{(:by,), Tuple{typeof(isequal)}},typeof(test_reference),String,Matrix{RGBA{Float64}}}) # time: 0.24671553
27+
@assert precompile(Tuple{typeof(test_reference),File{DataFormat{:PNG}},Matrix{RGB{Float64}},Function,Nothing}) # time: 0.029915236
28+
@assert precompile(Tuple{typeof(test_reference),File{DataFormat{:PNG}},Matrix{RGBA{Float64}},Function,Nothing}) # time: 0.013356352
29+
end
30+
2431
end # module

src/fileio.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44

55
const TextFile = Union{File{format"TXT"}, File{format"SHA256"}}
66

7-
function loadfile(T, file::File)
8-
T(load(file)) # Fallback to FileIO
7+
function loadfile(::Type{T}, file::File) where T
8+
T(load(file))::T # Fallback to FileIO
99
end
1010

11-
function loadfile(T, file::TextFile)
11+
function loadfile(::Type{T}, file::TextFile) where T # specialize on T only to prevent ambiguity
1212
replace(read(file.filename, String), "\r"=>"") # ignore CRLF/LF difference
1313
end
1414

0 commit comments

Comments
 (0)