diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2013-04-10 13:11:27 -0700 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2013-04-10 17:32:02 -0700 |
| commit | 49de82cdca2064a909d3104f4e5eccacb0425fd0 (patch) | |
| tree | 476daee1450ae400b436dcfa8c764310ecd6eb34 /src/libsyntax/opt_vec.rs | |
| parent | 3322595e896e95c3e19ca33c854ad529f2ef3c19 (diff) | |
| download | rust-49de82cdca2064a909d3104f4e5eccacb0425fd0.tar.gz rust-49de82cdca2064a909d3104f4e5eccacb0425fd0.zip | |
Issue #5656: Make &self not mean "&'self self"
Fixes #5656. Fixes #5541.
Diffstat (limited to 'src/libsyntax/opt_vec.rs')
| -rw-r--r-- | src/libsyntax/opt_vec.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/libsyntax/opt_vec.rs b/src/libsyntax/opt_vec.rs index fd54746f3dc..1604c40f917 100644 --- a/src/libsyntax/opt_vec.rs +++ b/src/libsyntax/opt_vec.rs @@ -61,6 +61,7 @@ impl<T> OptVec<T> { } } + #[cfg(stage0)] fn get(&self, i: uint) -> &'self T { match *self { Empty => fail!(fmt!("Invalid index %u", i)), @@ -68,6 +69,16 @@ impl<T> OptVec<T> { } } + #[cfg(stage1)] + #[cfg(stage2)] + #[cfg(stage3)] + fn get<'a>(&'a self, i: uint) -> &'a T { + match *self { + Empty => fail!(fmt!("Invalid index %u", i)), + Vec(ref v) => &v[i] + } + } + fn is_empty(&self) -> bool { self.len() == 0 } |
