• 1 Post
  • 3 Comments
Joined 1Y ago
cake
Cake day: Jul 30, 2023

help-circle
rss

SOLUTION:

Here is the solution I came up with:

pub struct Configuration {}

impl Configuration {
    fn get std::str::FromStr>() -> Result {
        Ok(T::from_str("1234");
    }
}

fn main() {
    let my_conf_val = Configuration::get();
}

Afraid this might have been the case, if Ogeon’s suggestion doesn’t work out, I’ll probably end up with multiple getters, one per type. There aren’t that many anyway

Thank you!


Correct, I would want the caller to know what they’re getting, I’ll see if this works, Thank you!


Return Generic Type in Rust
Background: I have a large serde_json value that I want to be read-only (the authoritative source is an encrypted SQLite DB and should only be updated when that gets updated) The issue, I would like a single get function that returns a generic type ```rust use serde_json; pub struct Configuration { config: serde_json::Value, } impl Configuration { async fn get(&self, key: &str) -> Result { let tmp_value: = &self.config["test"]; // This would be repeated for String, bool, etc if tmp_value.is_i64() { match tmp_value.as_i64 { Some(x) => Ok(x), Err(e) => Err(()), } } else { Err(()) } } } ``` However I get: "mismatched types expected type parameter T found type i64" Is it even possible to return multiple types from a single function? EDIT: SOLUTION Here is the solution I came up with: ```rust pub struct Configuration {} impl Configuration { fn get std::str::FromStr>() -> Result { Ok(T::from_str("1234"); } } fn main() { let my_conf_val = Configuration::get(); } ```
fedilink