diff options
author | Eduardo Julian | 2022-04-05 07:16:43 -0400 |
---|---|---|
committer | Eduardo Julian | 2022-04-05 07:16:43 -0400 |
commit | a2d994a3f7a39964452df7523f69e16b10b266f9 (patch) | |
tree | aa533a9dd218a9c14332d4c4697c25bc35f07a4d /stdlib/source/library/lux/tool/compiler | |
parent | 14f18c100c2f8c3ec9c60c14330d926cd2d6f639 (diff) |
Properly handling variance for remaining mutable types.
Diffstat (limited to 'stdlib/source/library/lux/tool/compiler')
-rw-r--r-- | stdlib/source/library/lux/tool/compiler/default/platform.lux | 20 | ||||
-rw-r--r-- | stdlib/source/library/lux/tool/compiler/meta/io/archive.lux | 12 |
2 files changed, 22 insertions, 10 deletions
diff --git a/stdlib/source/library/lux/tool/compiler/default/platform.lux b/stdlib/source/library/lux/tool/compiler/default/platform.lux index bf809bbb5..1facd15f6 100644 --- a/stdlib/source/library/lux/tool/compiler/default/platform.lux +++ b/stdlib/source/library/lux/tool/compiler/default/platform.lux @@ -115,7 +115,10 @@ (let [system (the #&file_system platform) write_artifact! (is (-> [artifact.ID (Maybe Text) Binary] (Action Any)) (function (_ [artifact_id custom content]) - (cache/artifact.cache! system context @module artifact_id content)))] + (with_expansions [<it> (cache/artifact.cache! system context @module artifact_id content)] + (for @.old (as (Async (Try Any)) + <it>) + <it>))))] (do [! ..monad] [_ (is (Async (Try Any)) (cache/module.enable! async.monad system context @module)) @@ -132,12 +135,15 @@ (is (Action (List Any))))) document (# async.monad in (document.marked? key (the [archive.#module module.#document] entry)))] - (|> [(|> entry - (the archive.#module) - (has module.#document document)) - (the archive.#registry entry)] - (_.result (..writer format)) - (cache/module.cache! system context @module))))) + (with_expansions [<it> (|> [(|> entry + (the archive.#module) + (has module.#document document)) + (the archive.#registry entry)] + (_.result (..writer format)) + (cache/module.cache! system context @module))] + (for @.old (as (Async (Try Any)) + <it>) + <it>))))) ... TODO: Inline ASAP (def: initialize_buffer! diff --git a/stdlib/source/library/lux/tool/compiler/meta/io/archive.lux b/stdlib/source/library/lux/tool/compiler/meta/io/archive.lux index 26298275f..bd1c6aa1e 100644 --- a/stdlib/source/library/lux/tool/compiler/meta/io/archive.lux +++ b/stdlib/source/library/lux/tool/compiler/meta/io/archive.lux @@ -332,9 +332,15 @@ (list.only (|>> product.left (dictionary.key? purge) not)) (monad.each ! (function (_ [module_name [@module entry]]) (do ! - [[entry bundles] (..load_definitions fs context @module host_environment entry)] - (in [[module_name entry] - bundles])))))] + [[entry bundles] (with_expansions [<it> (..load_definitions fs context @module host_environment entry)] + (for @.old (as (Async (Try [(archive.Entry .Module) Bundles])) + <it>) + <it>))] + (in (with_expansions [<it> [[module_name entry] + bundles]] + (for @.old (as [[descriptor.Module (archive.Entry .Module)] Bundles] + <it>) + <it>)))))))] (in it))) (def: (load_every_reserved_module customs configuration host_environment fs context import contexts archive) |