Let’s say I have a struct Event which implements the method permalink:

struct Event {
    base_url: String,
    rel_permalink: String,
    permalink: String,
    title: String,
}

impl Event {
    fn permalink(&self) -> String {
        let permalink = format!("{}{}", self.base_url, self.rel_permalink);
        permalink
    }
}

The method takes 2 fields of the struct and the target would be to return the definition of another field.

Later I instantiate an event1: Event:

let event1 = Event {
                base_url: base_url,
                rel_permalink: rel_permalink.to_string(),
                title: node.value().name().to_string(),
                permalink = permalink(),
            };

Essentially I would like the field permalink to be the value returned by the method permalink, is something like this possible, is this correct? I couldn’t find something similar in the docs…

Pheraps using an associated function as constructor would be a better way to handle a similar situation?

Thank you so much!

  • GissaMittJobb@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    9 hours ago

    Is it really valid to call permalink() in that context, since it requires &self? There’s no self in that context afaik. Can’t test it now but it looks suspicious

    EDIT: Invalid since the comment was updated