Rust 1.5.0 добавлен std::fs::canonicalize, который звучит довольно близко к тому, что вы хотите:
Возвращает каноническую форму пути со всеми нормализованными промежуточными компонентами и разрешенными символическими связями.
Обратите внимание, что в отличие от принятого ответа это удаляет ./ из возвращаемого пути.
Простой пример с моей машины:
use std::fs;
use std::path::PathBuf;
fn main() {
let srcdir = PathBuf::from("./src");
println!("{:?}", fs::canonicalize(&srcdir));
let solardir = PathBuf::from("./../solarized/.");
println!("{:?}", fs::canonicalize(&solardir));
}