about summary refs log tree commit diff
path: root/src/librustc/middle
diff options
context:
space:
mode:
authorvarkor <github@varkor.com>2018-02-08 08:58:13 +0000
committervarkor <github@varkor.com>2018-06-20 12:19:03 +0100
commit494859e8dde5080534e94aba6d98affb921552f8 (patch)
tree661fcf1caa265de43643abf07b854460d966b862 /src/librustc/middle
parentcca43a7f977963ee497ca091fbdf3cea95abdf47 (diff)
downloadrust-494859e8dde5080534e94aba6d98affb921552f8.tar.gz
rust-494859e8dde5080534e94aba6d98affb921552f8.zip
Consolidate PathParameters and AngleBracketedParameterData
Diffstat (limited to 'src/librustc/middle')
-rw-r--r--src/librustc/middle/resolve_lifetime.rs18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/librustc/middle/resolve_lifetime.rs b/src/librustc/middle/resolve_lifetime.rs
index f251a3d5f38..477c4c213ce 100644
--- a/src/librustc/middle/resolve_lifetime.rs
+++ b/src/librustc/middle/resolve_lifetime.rs
@@ -155,7 +155,7 @@ impl Region {
         }
     }
 
-    fn subst(self, params: &[hir::Lifetime], map: &NamedRegionMap) -> Option<Region> {
+    fn subst(self, params: Vec<&hir::Lifetime>, map: &NamedRegionMap) -> Option<Region> {
         if let Region::EarlyBound(index, _, _) = self {
             params
                 .get(index as usize)
@@ -820,7 +820,7 @@ impl<'a, 'tcx> Visitor<'tcx> for LifetimeContext<'a, 'tcx> {
 
     fn visit_lifetime(&mut self, lifetime_ref: &'tcx hir::Lifetime) {
         if lifetime_ref.is_elided() {
-            self.resolve_elided_lifetimes(slice::from_ref(lifetime_ref), false);
+            self.resolve_elided_lifetimes(vec![lifetime_ref], false);
             return;
         }
         if lifetime_ref.is_static() {
@@ -1613,10 +1613,10 @@ impl<'a, 'tcx> LifetimeContext<'a, 'tcx> {
             return;
         }
 
-        if params.lifetimes.iter().all(|l| l.is_elided()) {
-            self.resolve_elided_lifetimes(&params.lifetimes, true);
+        if params.lifetimes().iter().all(|l| l.is_elided()) {
+            self.resolve_elided_lifetimes(params.lifetimes(), true);
         } else {
-            for l in &params.lifetimes {
+            for l in &params.lifetimes() {
                 self.visit_lifetime(l);
             }
         }
@@ -1688,13 +1688,13 @@ impl<'a, 'tcx> LifetimeContext<'a, 'tcx> {
                     } else {
                         Some(Region::Static)
                     },
-                    Set1::One(r) => r.subst(&params.lifetimes, map),
+                    Set1::One(r) => r.subst(params.lifetimes(), map),
                     Set1::Many => None,
                 })
                 .collect()
         });
 
-        for (i, ty) in params.types.iter().enumerate() {
+        for (i, ty) in params.types().iter().enumerate() {
             if let Some(&lt) = object_lifetime_defaults.get(i) {
                 let scope = Scope::ObjectLifetimeDefault {
                     lifetime: lt,
@@ -1981,7 +1981,9 @@ impl<'a, 'tcx> LifetimeContext<'a, 'tcx> {
         }
     }
 
-    fn resolve_elided_lifetimes(&mut self, lifetime_refs: &'tcx [hir::Lifetime], deprecated: bool) {
+    fn resolve_elided_lifetimes(&mut self,
+                                lifetime_refs: Vec<&'tcx hir::Lifetime>,
+                                deprecated: bool) {
         if lifetime_refs.is_empty() {
             return;
         }