Repository: metacall/core (language: rust)

Issue:
`metacall::inline` not available with the `metacall` crate
## 🐛 Bug Report

<!--- A clear and concise description of what the bug is -->

### Current Behavior
<!--- Tell us what happens instead of the expected behavior -->

```
  |
2 | use metacall::inline::py;
  |               ^^^^^^ could not find `inline` in `metacall`
```

### Possible Solution
<!--- Not obligatory, but suggest a fix/reason for the bug, -->

Publish the sub crates to crates.io and use the published version as a fallback.


### Context (Environment)
<!--- How has this issue affected you? What are you trying to accomplish? -->
<!--- Providing context helps us come up with a solution that is most useful in the real world -->

<!--- Provide a general summary of the issue in the Title above -->
When using the rust port, I would like to take advantage of the new inline support.

### Detailed Description
<!--- Provide a detailed description of the change or addition you are proposing -->
Since `inline` is added as one of the dependencies using a path, it is not available when the `metacall` crate gets published on `crates.io`, making the sub crate unusable unless installing from other sources like `git`.



Discussion / hints:

Fix patch:
diff --git a/source/ports/rs_port/Cargo.toml b/source/ports/rs_port/Cargo.toml
index 77f721e57..cecca6ee6 100644
--- a/source/ports/rs_port/Cargo.toml
+++ b/source/ports/rs_port/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "metacall"
-version = "0.2.1"
+version = "0.3.0"
 repository = "https://github.com/metacall/core/tree/develop/source/ports/rs_port"
 authors = ["Vicente Eduardo Ferrer Garcia <vic798@gmail.com>", "Swarnim Arun <swarnimarun11@gmail.com>"]
 edition = "2021"
@@ -15,5 +15,4 @@ path = "src/lib.rs"
 edition = "2021"
 
 [dependencies]
-abi = { path = "./abi" }
-inline = { path = "./inline" }
+metacall-inline = { path = "./inline", version = "0.3.0" }
diff --git a/source/ports/rs_port/abi/Cargo.toml b/source/ports/rs_port/abi/Cargo.toml
deleted file mode 100644
index d059ba9d3..000000000
--- a/source/ports/rs_port/abi/Cargo.toml
+++ /dev/null
@@ -1,6 +0,0 @@
-[package]
-name = "abi"
-version = "0.1.0"
-edition = "2021"
-
-[dependencies]
diff --git a/source/ports/rs_port/inline/Cargo.toml b/source/ports/rs_port/inline/Cargo.toml
index 3f180ae2c..4a5ab1f62 100644
--- a/source/ports/rs_port/inline/Cargo.toml
+++ b/source/ports/rs_port/inline/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
-name = "inline"
-version = "0.1.0"
+name = "metacall-inline"
+version = "0.3.0"
 edition = "2021"
 
 [lib]
@@ -8,5 +8,4 @@ proc_macro = true
 
 [dependencies]
 proc-macro2 = { version = "1.0.36", features = ["span-locations"] }
-abi = { path = "../abi" }
 quote = "1.0.14"
diff --git a/source/ports/rs_port/abi/src/lib.rs b/source/ports/rs_port/src/abi.rs
similarity index 100%
rename from source/ports/rs_port/abi/src/lib.rs
rename to source/ports/rs_port/src/abi.rs
diff --git a/source/ports/rs_port/src/lib.rs b/source/ports/rs_port/src/lib.rs
index 1fbe132f2..de534f73c 100644
--- a/source/ports/rs_port/src/lib.rs
+++ b/source/ports/rs_port/src/lib.rs
@@ -20,9 +20,9 @@
 
 use std::ffi::CString;
 use std::os::raw::{c_char, c_double, c_float, c_int, c_long, c_short, c_void};
-
+mod abi;
 pub use abi::interface as abi_interface;
-pub use inline;
+pub use metacall_inline;
 
 #[derive(Debug)]
 pub struct Error(String);
diff --git a/source/ports/rs_port/upload.sh b/source/ports/rs_port/upload.sh
index cc4efe553..6a5365b34 100644
--- a/source/ports/rs_port/upload.sh
+++ b/source/ports/rs_port/upload.sh
@@ -22,4 +22,8 @@
 # TODO: Automate for CD/CI
 
 # Publish
-cargo login $TOKEN && cargo publish
+cargo login $TOKEN
+cd inline 
+cargo publish 
+cd ..
+cargo publish


Test patch:
diff --git a/source/ports/rs_port/tests/inline_test.rs b/source/ports/rs_port/tests/inline_test.rs
index 13e299939..fad624821 100644
--- a/source/ports/rs_port/tests/inline_test.rs
+++ b/source/ports/rs_port/tests/inline_test.rs
@@ -1,4 +1,4 @@
-use metacall::inline::{py, node, rb, ts};
+use metacall::metacall_inline::{py, node, rb, ts};
 
 #[test]
 fn test_inline() {