consumer_native_mixed.tri (1142B)
1 -- Two explicit frontend selections share one CAS and neutral manifests. 2 -- This is immutable cross-surface import, not implicit local-file dispatch. 3 !import "prelude" !Local 4 !import "io" !Local 5 !import "source.build" G 6 !import "source.module" M 7 !import "consumers.unit-build" U 8 !import "consumers.lexical-worker" L 9 root = "__ROOT__" 10 workspace = "__WORKSPACE__" 11 compiler = "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef" 12 scenario = do onOk_ 13 _ <- writeFile (append workspace "/treeData.tri") "!export payload\npayload = 42\n" 14 data <- G.sourceBuildGraph workspace root compiler "treeData" 15 _ <- writeFile (append workspace "/mixed.scp") 16 (append "!import " (append (fst data) 17 " as Data\n!export box\nconsumer box\n _ @ _ => (Data.payload, leaf)\n")) 18 compiled <- U.scpUnitBuildGraph workspace root compiler "mixed" 19 entry <- M.sourceModuleLoadSelected root (fst compiled) "box" 20 pure (ok (equal? (L.lRunChecked (L.lWorker t entry) t) (ok (pair 42 t) t)) t) 21 main = io (onResult_ scenario (_ : putStrLn "native-mixed-ERROR") 22 (passed : putStrLn (matchBool "native-mixed-ok" "native-mixed-DIFF" passed))) 23 main