The ? operator is used to unwrap a Result and either show the error, if there is one, or the value if it was successful. You can write the same thing out in long form, but since it was such a common operation this shorthand was introduced into the language. You can read more about the operator in the docs, for example here: https://doc.rust-lang.org/rust-by-example/std/result/question_mark.html#
