Skip to content

Instantly share code, notes, and snippets.

@miloshadzic
Created August 7, 2013 21:46
Show Gist options
  • Save miloshadzic/6179055 to your computer and use it in GitHub Desktop.
Save miloshadzic/6179055 to your computer and use it in GitHub Desktop.
What am I doing wrong?
/// Retrieves a value for the given key. A passed default value is
/// returned if the key is not present.
pub fn get_or_default<'a>(&'a self, k: &K, default: &V) -> &'a V {
match self.find(k) {
Some(v) => v,
None => default
}
}
milos in rust > make
cfg: build triple x86_64-apple-darwin
cfg: host triples x86_64-apple-darwin
cfg: target triples x86_64-apple-darwin
cfg: host for x86_64-apple-darwin is x86_64
cfg: os for x86_64-apple-darwin is apple-darwin
cfg: using clang
cfg: enabling valgrind (CFG_ENABLE_VALGRIND)
cfg: no pdflatex found, omitting doc/rust.pdf
cfg: no llnextgen found, omitting grammar-verification
compile_and_link: x86_64-apple-darwin/stage0/lib/rustc/x86_64-apple-darwin/lib/libstd.dylib
/Users/milos/.build/rust/src/libstd/hashmap.rs:422:8: 425:9 error: cannot infer an appropriate lifetime due to conflicting requirements
/Users/milos/.build/rust/src/libstd/hashmap.rs:422 match self.find(k) {
/Users/milos/.build/rust/src/libstd/hashmap.rs:423 Some(v) => v,
/Users/milos/.build/rust/src/libstd/hashmap.rs:424 None => default
/Users/milos/.build/rust/src/libstd/hashmap.rs:425 }
/Users/milos/.build/rust/src/libstd/hashmap.rs:421:69: 426:5 note: first, the lifetime cannot outlive the anonymous lifetime #2 defined on the block at 421:69...
/Users/milos/.build/rust/src/libstd/hashmap.rs:421 pub fn get_or_default<'a>(&'a self, k: &K, default: &V) -> &'a V {
/Users/milos/.build/rust/src/libstd/hashmap.rs:422 match self.find(k) {
/Users/milos/.build/rust/src/libstd/hashmap.rs:423 Some(v) => v,
/Users/milos/.build/rust/src/libstd/hashmap.rs:424 None => default
/Users/milos/.build/rust/src/libstd/hashmap.rs:425 }
/Users/milos/.build/rust/src/libstd/hashmap.rs:426 }
/Users/milos/.build/rust/src/libstd/hashmap.rs:422:8: 425:9 note: ...due to the following expression
/Users/milos/.build/rust/src/libstd/hashmap.rs:422 match self.find(k) {
/Users/milos/.build/rust/src/libstd/hashmap.rs:423 Some(v) => v,
/Users/milos/.build/rust/src/libstd/hashmap.rs:424 None => default
/Users/milos/.build/rust/src/libstd/hashmap.rs:425 }
/Users/milos/.build/rust/src/libstd/hashmap.rs:421:69: 426:5 note: but, the lifetime must be valid for the lifetime &'a as defined on the block at 421:69...
/Users/milos/.build/rust/src/libstd/hashmap.rs:421 pub fn get_or_default<'a>(&'a self, k: &K, default: &V) -> &'a V {
/Users/milos/.build/rust/src/libstd/hashmap.rs:422 match self.find(k) {
/Users/milos/.build/rust/src/libstd/hashmap.rs:423 Some(v) => v,
/Users/milos/.build/rust/src/libstd/hashmap.rs:424 None => default
/Users/milos/.build/rust/src/libstd/hashmap.rs:425 }
/Users/milos/.build/rust/src/libstd/hashmap.rs:426 }
/Users/milos/.build/rust/src/libstd/hashmap.rs:422:8: 425:9 note: ...due to the following expression
/Users/milos/.build/rust/src/libstd/hashmap.rs:422 match self.find(k) {
/Users/milos/.build/rust/src/libstd/hashmap.rs:423 Some(v) => v,
/Users/milos/.build/rust/src/libstd/hashmap.rs:424 None => default
/Users/milos/.build/rust/src/libstd/hashmap.rs:425 }
error: aborting due to previous error
make: *** [x86_64-apple-darwin/stage0/lib/rustc/x86_64-apple-darwin/lib/libstd.dylib] Error 101
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment