From 8d5f3029e531d1163668f34e65b73cb6d639767f Mon Sep 17 00:00:00 2001 From: Griffin Smith Date: Sat, 20 Mar 2021 18:14:23 -0400 Subject: feat(gs/achilles): Implement very basic monomorphization Implement very basic monomorphization, by recording type variable instantiations when typechecking Call nodes and then using those in a new hir Visitor trait to copy the body of any generic decls for each possible set of instantiation of the type variables. Change-Id: Iab54030973e5d66e2b8bcd074b4cb6c001a90123 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2617 Reviewed-by: glittershark Tested-by: BuildkiteCI --- users/glittershark/achilles/Cargo.lock | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'users/glittershark/achilles/Cargo.lock') diff --git a/users/glittershark/achilles/Cargo.lock b/users/glittershark/achilles/Cargo.lock index 0c5779135a..a5fa644ec6 100644 --- a/users/glittershark/achilles/Cargo.lock +++ b/users/glittershark/achilles/Cargo.lock @@ -19,6 +19,7 @@ dependencies = [ "proptest", "test-strategy", "thiserror", + "void", ] [[package]] @@ -761,6 +762,12 @@ version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed" +[[package]] +name = "void" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" + [[package]] name = "wait-timeout" version = "0.2.0" -- cgit 1.4.1