Given the path to a file, and a function that takes as an argument a `String` with the contents of that file and returns the (serializable) result of some computation on those contents, implements a cache whereby first the cache directory is checked to see if a previous operation has been attempted on the same file contents. If found, that version is returned and the function is never invoked.
(
cache_path: &Path,
input_path: &Path,
key: &str,
f: F,
)
source not stored for this graph (policy: none)