pub trait DeepView { type V; // Required method spec fn deep_view(&self) -> Self::V; }
{ (**self).deep_view() }
{ match self { Some(t) => Some(t.deep_view()), None => None, } }
{ let v = self.view(); Seq::new(v.len(), |i: int| v[i].deep_view()) }