Use ArrayHandleMultiplexer in VariantArrayHandle::CastAndCall

The previous behavior of `VariantArrayHandle::CastAndCall` was to
identify all possible `ArrayHandle`s to try and call the provided
functor with each one. This change creates an `ArrayHandleMultiplexer`
for each value type so that the functor need only be called once for
each value type rather than once for every value-storage type pair.

This results in more complex array types, but should result in fewer
total code paths.
51 jobs for !2144 with variant-cast-call-multiplexer in 52 minutes and 39 seconds (queued for 7 seconds)
latest detached
Status Name Job ID Coverage
  Build
failed build:centos7_gcc48 #5026103
build vtkm docker linux large-memory

00:07:15

failed build:centos8_sanitizer #5026104
build vtkm docker linux

00:14:14

failed build:rhel8 #5026105
build vtkm docker linux

00:12:59

passed build:rhel8_vtk_types #5026106
build vtkm docker linux

00:42:19

passed build:ubuntu1604_clang5 #5026109
build vtkm docker linux

00:31:16

passed build:ubuntu1604_gcc48 #5026108
build vtkm docker linux

00:26:16

failed build:ubuntu1604_gcc5 #5026107
build vtkm docker linux large-memory

00:01:37

passed build:ubuntu1804_clang8 #5026113
build vtkm docker linux

00:23:38

failed build:ubuntu1804_gcc6 #5026112
build vtkm docker linux

00:05:10

failed build:ubuntu1804_gcc7 #5026111
build vtkm docker linux large-memory

00:00:36

failed build:ubuntu1804_gcc9 #5026110
build vtkm docker linux

00:06:35

passed build:windows_vs2019 #5026114
build vtkm windows vs2019 shell large-memory

00:05:13

 
  Test
skipped test:centos7_gcc48 #5026115
test cuda-rt turing vtkm docker linux
skipped test:centos8_sanitizer #5026117
test vtkm docker linux privileged
skipped test:rhel8 #5026118
test vtkm docker linux
skipped test:rhel8_test_centos7 #5026116
vtkm docker linux test cuda-rt turing
failed test:rhel8_vtk_types #5026119
test vtkm docker linux

00:10:18

failed test:ubuntu1604_clang5 #5026121
test vtkm docker linux

00:01:41

failed test:ubuntu1604_gcc48 #5026120
test vtkm docker linux

00:01:45

failed test:ubuntu1804_clang8 #5026125
test vtkm docker linux

00:01:28

skipped test:ubuntu1804_gcc6 #5026124
test vtkm docker linux
skipped test:ubuntu1804_gcc7 #5026123
test cuda-rt turing vtkm docker linux
skipped test:ubuntu1804_gcc9 #5026122
test vtkm docker linux
passed test:windows_vs2019 #5026126
test vtkm windows shell cuda-rt turing

00:02:23

 
  External
passed cdash-buildbot

passed cdash-commit

passed ghostflow-branch-check-master

failed vtk-m-dragnipur-osx-shared-debug+32bit_ids+64bit_coords+clang+tbb

failed vtk-m-dragnipur-osx-static-release+64bit_coords+clang+tbb

failed vtk-m-osheim-windows-shared-debug+ninja-vs-2017+tbb

failed vtk-m-osheim-windows-static-release+ninja-vs-2017+tbb

failed vtk-m-dragnipur-osx-shared-debug+32bit_ids+64bit_coords+clang+tbb

failed vtk-m-dragnipur-osx-shared-debug+32bit_ids+64bit_coords+clang+tbb

failed vtk-m-dragnipur-osx-shared-debug+32bit_ids+64bit_coords+clang+tbb

failed vtk-m-dragnipur-osx-shared-debug+32bit_ids+64bit_coords+clang+tbb

failed vtk-m-dragnipur-osx-shared-debug+32bit_ids+64bit_coords+clang+tbb

00:12:09

failed vtk-m-dragnipur-osx-static-release+64bit_coords+clang+tbb

failed vtk-m-dragnipur-osx-static-release+64bit_coords+clang+tbb

failed vtk-m-dragnipur-osx-static-release+64bit_coords+clang+tbb

failed vtk-m-dragnipur-osx-static-release+64bit_coords+clang+tbb

failed vtk-m-dragnipur-osx-static-release+64bit_coords+clang+tbb

00:20:48

failed vtk-m-osheim-windows-shared-debug+ninja-vs-2017+tbb

failed vtk-m-osheim-windows-shared-debug+ninja-vs-2017+tbb

failed vtk-m-osheim-windows-shared-debug+ninja-vs-2017+tbb

failed vtk-m-osheim-windows-shared-debug+ninja-vs-2017+tbb

failed vtk-m-osheim-windows-shared-debug+ninja-vs-2017+tbb

00:23:02

failed vtk-m-osheim-windows-static-release+ninja-vs-2017+tbb

failed vtk-m-osheim-windows-static-release+ninja-vs-2017+tbb

failed vtk-m-osheim-windows-static-release+ninja-vs-2017+tbb

failed vtk-m-osheim-windows-static-release+ninja-vs-2017+tbb

failed vtk-m-osheim-windows-static-release+ninja-vs-2017+tbb

00:30:24

 
Name Stage Failure
failed
test:ubuntu1804_clang8 Test
   Upload file: /builds/gitlab-kitware-sciviz-ci/build/Testing/20200618-2150/Test.xml to https://open.cdash.org/submit.php?project=VTKM&FileName=ubuntu1804_clang8___debug%2Btbb%2Bshared%2Bexamples___20200618-2150-Experimental___XML___Test.xml&build=debug%2Btbb%2Bshared%2Bexamples&site=ubuntu1804_clang8&stamp=20200618-2150-Experimental&MD5=1c65e05ba74235d3d92dcb3f751dca23 Size: 908612
Uploaded: /builds/gitlab-kitware-sciviz-ci/build/Testing/20200618-2150/Test.xml
Submission successful
-- Test submission build_id: 6602771
CMake Error at /builds/gitlab-kitware-sciviz-ci/.gitlab/ci/ctest_test.cmake:45 (message):
Failed to test


ERROR: Job failed: exit code 1
failed
test:ubuntu1604_clang5 Test
   Uploaded: /builds/gitlab-kitware-sciviz-ci/build/Testing/20200618-2149/Test.xml
Submission successful
-- Test submission build_id: 6602770
CMake Error at /builds/gitlab-kitware-sciviz-ci/.gitlab/ci/ctest_test.cmake:45 (message):
Failed to test


Authenticating with credentials from /root/.docker/config.json
ERROR: Job failed: exit code 1
failed
test:ubuntu1604_gcc48 Test
   Upload file: /builds/gitlab-kitware-sciviz-ci/build/Testing/20200618-2148/Test.xml to https://open.cdash.org/submit.php?project=VTKM&FileName=ubuntu1604_gcc48___release%2Btbb%2Bmpi%2Bshared%2Bno_rendering___20200618-2148-Experimental___XML___Test.xml&build=release%2Btbb%2Bmpi%2Bshared%2Bno_rendering&site=ubuntu1604_gcc48&stamp=20200618-2148-Experimental&MD5=d2d934a5be55572c47faf35053439c5f Size: 871362
Uploaded: /builds/gitlab-kitware-sciviz-ci/build/Testing/20200618-2148/Test.xml
Submission successful
-- Test submission build_id: 6602760
CMake Error at /builds/gitlab-kitware-sciviz-ci/.gitlab/ci/ctest_test.cmake:45 (message):
Failed to test


ERROR: Job failed: exit code 1
failed
test:rhel8_vtk_types Test
   Submission successful
CMake Error at /builds/gitlab-kitware-sciviz-ci/.gitlab/ci/ctest_test.cmake:45 (message):
Failed to test


-- Test submission build_id: 6602761
Running after_script
Uploading artifacts for failed job
ERROR: Job failed: exit code 1
failed
build:ubuntu1804_gcc6 Build
build/*/*.cmake: found 6 matching files            
build/*/*/*.cmake: found 59 matching files

build/*/*/*/*.cmake: found 117 matching files

build/*/*/*/*/*.cmake: found 52 matching files

build/*/*/*/*/*/*.cmake: found 10 matching files

build/Testing/: found 12 matching files

build/DartConfiguration.tcl: found 1 matching files

Uploading artifacts to coordinator... ok
id=5026112 responseStatus=201 Created token=MLs4vWPg
ERROR: Job failed: exit code 1
failed
build:ubuntu1804_gcc7 Build
WARNING: build/*/*.cmake: no matching files        
WARNING: build/*/*/*.cmake: no matching files
WARNING: build/*/*/*/*.cmake: no matching files
WARNING: build/*/*/*/*/*.cmake: no matching files
WARNING: build/*/*/*/*/*/*.cmake: no matching files
WARNING: build/Testing/: no matching files
WARNING: build/DartConfiguration.tcl: no matching files
ERROR: No files to upload
ERROR: Job failed: exit code 1
failed
build:ubuntu1804_gcc9 Build
build/*/*.cmake: found 6 matching files            
build/*/*/*.cmake: found 25 matching files

build/*/*/*/*.cmake: found 117 matching files

build/*/*/*/*/*.cmake: found 54 matching files

build/*/*/*/*/*/*.cmake: found 12 matching files

build/Testing/: found 12 matching files

build/DartConfiguration.tcl: found 1 matching files

Uploading artifacts to coordinator... ok
id=5026110 responseStatus=201 Created token=9btVFYJy
ERROR: Job failed: exit code 1
failed
build:ubuntu1604_gcc5 Build
build/*/*.cmake: found 6 matching files            
build/*/*/*.cmake: found 26 matching files

build/*/*/*/*.cmake: found 117 matching files

build/*/*/*/*/*.cmake: found 52 matching files

build/*/*/*/*/*/*.cmake: found 10 matching files

build/Testing/: found 12 matching files

build/DartConfiguration.tcl: found 1 matching files

Uploading artifacts to coordinator... ok
id=5026107 responseStatus=201 Created token=GRMARu73
ERROR: Job failed: exit code 1
failed
build:rhel8 Build
build/*/*.cmake: found 8 matching files            
build/*/*/*.cmake: found 84 matching files

build/*/*/*/*.cmake: found 128 matching files

build/*/*/*/*/*.cmake: found 120 matching files

build/*/*/*/*/*/*.cmake: found 55 matching files

build/Testing/: found 12 matching files

build/DartConfiguration.tcl: found 1 matching files

Uploading artifacts to coordinator... ok
id=5026105 responseStatus=201 Created token=8C7tGgiZ
ERROR: Job failed: exit code 1
failed
build:centos8_sanitizer Build
build/*/*.cmake: found 8 matching files            
build/*/*/*.cmake: found 84 matching files

build/*/*/*/*.cmake: found 128 matching files

build/*/*/*/*/*.cmake: found 122 matching files

build/*/*/*/*/*/*.cmake: found 58 matching files

build/Testing/: found 12 matching files

build/DartConfiguration.tcl: found 1 matching files

Uploading artifacts to coordinator... ok
id=5026104 responseStatus=201 Created token=xJHfBC_6
ERROR: Job failed: exit code 1
failed
build:centos7_gcc48 Build
build/*/*.cmake: found 8 matching files            
build/*/*/*.cmake: found 85 matching files

build/*/*/*/*.cmake: found 120 matching files

build/*/*/*/*/*.cmake: found 119 matching files

build/*/*/*/*/*/*.cmake: found 55 matching files

build/Testing/: found 12 matching files

build/DartConfiguration.tcl: found 1 matching files

Uploading artifacts to coordinator... ok
id=5026103 responseStatus=201 Created token=ZP7z7myd
ERROR: Job failed: exit code 1