@@ -54,7 +54,7 @@ fn parse_operation_definition<'a>(parser: &mut Parser<'a>) -> ParseResult<'a, Op
5454 let start_pos = parser. peek ( ) . start . clone ( ) ;
5555 let operation_type = try!( parse_operation_type ( parser) ) ;
5656 let name = match parser. peek ( ) . item {
57- Token :: Name ( _) => Some ( try!( parser. expect_name ( ) ) . map ( |s| s . to_owned ( ) ) ) ,
57+ Token :: Name ( _) => Some ( try!( parser. expect_name ( ) ) ) ,
5858 _ => None
5959 } ;
6060 let variable_definitions = try!( parse_variable_definitions ( parser) ) ;
@@ -74,7 +74,7 @@ fn parse_operation_definition<'a>(parser: &mut Parser<'a>) -> ParseResult<'a, Op
7474 }
7575}
7676
77- fn parse_fragment_definition < ' a > ( parser : & mut Parser < ' a > ) -> ParseResult < ' a , Fragment > {
77+ fn parse_fragment_definition < ' a > ( parser : & mut Parser < ' a > ) -> ParseResult < ' a , Fragment < ' a > > {
7878 let Spanning { start : start_pos, .. } = try!( parser. expect ( & Token :: Name ( "fragment" ) ) ) ;
7979 let name = match parser. expect_name ( ) {
8080 Ok ( n) => if n. item == "on" {
@@ -95,14 +95,14 @@ fn parse_fragment_definition<'a>(parser: &mut Parser<'a>) -> ParseResult<'a, Fra
9595 & start_pos,
9696 & selection_set. end ,
9797 Fragment {
98- name : name. map ( |s| s . to_owned ( ) ) ,
99- type_condition : type_cond. map ( |s| s . to_owned ( ) ) ,
98+ name : name,
99+ type_condition : type_cond,
100100 directives : directives. map ( |s| s. item ) ,
101101 selection_set : selection_set. item ,
102102 } ) )
103103}
104104
105- fn parse_optional_selection_set < ' a > ( parser : & mut Parser < ' a > ) -> OptionParseResult < ' a , Vec < Selection > > {
105+ fn parse_optional_selection_set < ' a > ( parser : & mut Parser < ' a > ) -> OptionParseResult < ' a , Vec < Selection < ' a > > > {
106106 if parser. peek ( ) . item == Token :: CurlyOpen {
107107 Ok ( Some ( try!( parse_selection_set ( parser) ) ) )
108108 }
@@ -111,21 +111,21 @@ fn parse_optional_selection_set<'a>(parser: &mut Parser<'a>) -> OptionParseResul
111111 }
112112}
113113
114- fn parse_selection_set < ' a > ( parser : & mut Parser < ' a > ) -> ParseResult < ' a , Vec < Selection > > {
114+ fn parse_selection_set < ' a > ( parser : & mut Parser < ' a > ) -> ParseResult < ' a , Vec < Selection < ' a > > > {
115115 parser. unlocated_delimited_nonempty_list (
116116 & Token :: CurlyOpen ,
117117 parse_selection,
118118 & Token :: CurlyClose )
119119}
120120
121- fn parse_selection < ' a > ( parser : & mut Parser < ' a > ) -> UnlocatedParseResult < ' a , Selection > {
121+ fn parse_selection < ' a > ( parser : & mut Parser < ' a > ) -> UnlocatedParseResult < ' a , Selection < ' a > > {
122122 match parser. peek ( ) . item {
123123 Token :: Ellipsis => parse_fragment ( parser) ,
124124 _ => parse_field ( parser) . map ( Selection :: Field ) ,
125125 }
126126}
127127
128- fn parse_fragment < ' a > ( parser : & mut Parser < ' a > ) -> UnlocatedParseResult < ' a , Selection > {
128+ fn parse_fragment < ' a > ( parser : & mut Parser < ' a > ) -> UnlocatedParseResult < ' a , Selection < ' a > > {
129129 let Spanning { start : ref start_pos, .. } = try!( parser. expect ( & Token :: Ellipsis ) ) ;
130130
131131 match parser. peek ( ) . item {
@@ -140,7 +140,7 @@ fn parse_fragment<'a>(parser: &mut Parser<'a>) -> UnlocatedParseResult<'a, Selec
140140 & start_pos. clone ( ) ,
141141 & selection_set. end ,
142142 InlineFragment {
143- type_condition : Some ( name. map ( |s| s . to_owned ( ) ) ) ,
143+ type_condition : Some ( name) ,
144144 directives : directives. map ( |s| s. item ) ,
145145 selection_set : selection_set. item ,
146146 } ) ) )
@@ -167,7 +167,7 @@ fn parse_fragment<'a>(parser: &mut Parser<'a>) -> UnlocatedParseResult<'a, Selec
167167 & start_pos. clone ( ) ,
168168 & directives. as_ref ( ) . map_or ( & frag_name. end , |s| & s. end ) . clone ( ) ,
169169 FragmentSpread {
170- name : frag_name. map ( |s| s . to_owned ( ) ) ,
170+ name : frag_name,
171171 directives : directives. map ( |s| s. item ) ,
172172 } ) ) )
173173 } ,
@@ -189,11 +189,11 @@ fn parse_fragment<'a>(parser: &mut Parser<'a>) -> UnlocatedParseResult<'a, Selec
189189 }
190190}
191191
192- fn parse_field < ' a > ( parser : & mut Parser < ' a > ) -> ParseResult < ' a , Field > {
193- let mut alias = Some ( try!( parser. expect_name ( ) ) . map ( |s| s . to_owned ( ) ) ) ;
192+ fn parse_field < ' a > ( parser : & mut Parser < ' a > ) -> ParseResult < ' a , Field < ' a > > {
193+ let mut alias = Some ( try!( parser. expect_name ( ) ) ) ;
194194
195195 let name = if try!( parser. skip ( & Token :: Colon ) ) . is_some ( ) {
196- try!( parser. expect_name ( ) ) . map ( |s| s . to_owned ( ) )
196+ try!( parser. expect_name ( ) )
197197 }
198198 else {
199199 alias. take ( ) . unwrap ( )
@@ -212,14 +212,14 @@ fn parse_field<'a>(parser: &mut Parser<'a>) -> ParseResult<'a, Field> {
212212 . clone ( ) ,
213213 Field {
214214 alias : alias,
215- name : name. map ( |s| s . to_owned ( ) ) ,
215+ name : name,
216216 arguments : arguments,
217217 directives : directives. map ( |s| s. item ) ,
218218 selection_set : selection_set. map ( |s| s. item ) ,
219219 } ) )
220220}
221221
222- fn parse_arguments < ' a > ( parser : & mut Parser < ' a > ) -> OptionParseResult < ' a , Arguments > {
222+ fn parse_arguments < ' a > ( parser : & mut Parser < ' a > ) -> OptionParseResult < ' a , Arguments < ' a > > {
223223 if parser. peek ( ) . item != Token :: ParenOpen {
224224 Ok ( None )
225225 } else {
@@ -231,15 +231,15 @@ fn parse_arguments<'a>(parser: &mut Parser<'a>) -> OptionParseResult<'a, Argumen
231231 }
232232}
233233
234- fn parse_argument < ' a > ( parser : & mut Parser < ' a > ) -> ParseResult < ' a , ( Spanning < String > , Spanning < InputValue > ) > {
234+ fn parse_argument < ' a > ( parser : & mut Parser < ' a > ) -> ParseResult < ' a , ( Spanning < & ' a str > , Spanning < InputValue > ) > {
235235 let name = try!( parser. expect_name ( ) ) ;
236236 try!( parser. expect ( & Token :: Colon ) ) ;
237237 let value = try!( parse_value_literal ( parser, false ) ) ;
238238
239239 Ok ( Spanning :: start_end (
240240 & name. start . clone ( ) ,
241241 & value. end . clone ( ) ,
242- ( name. map ( |s| s . to_owned ( ) ) , value) ) )
242+ ( name, value) ) )
243243}
244244
245245fn parse_operation_type < ' a > ( parser : & mut Parser < ' a > ) -> ParseResult < ' a , OperationType > {
@@ -263,7 +263,7 @@ fn parse_variable_definitions<'a>(parser: &mut Parser<'a>) -> OptionParseResult<
263263 }
264264}
265265
266- fn parse_variable_definition < ' a > ( parser : & mut Parser < ' a > ) -> ParseResult < ' a , ( Spanning < String > , VariableDefinition < ' a > ) > {
266+ fn parse_variable_definition < ' a > ( parser : & mut Parser < ' a > ) -> ParseResult < ' a , ( Spanning < & ' a str > , VariableDefinition < ' a > ) > {
267267 let Spanning { start : start_pos, .. } = try!( parser. expect ( & Token :: Dollar ) ) ;
268268 let var_name = try!( parser. expect_name ( ) ) ;
269269 try!( parser. expect ( & Token :: Colon ) ) ;
@@ -283,7 +283,7 @@ fn parse_variable_definition<'a>(parser: &mut Parser<'a>) -> ParseResult<'a, (Sp
283283 Spanning :: start_end (
284284 & start_pos,
285285 & var_name. end ,
286- var_name. item . to_owned ( ) ,
286+ var_name. item ,
287287 ) ,
288288 VariableDefinition {
289289 var_type : var_type,
@@ -292,7 +292,7 @@ fn parse_variable_definition<'a>(parser: &mut Parser<'a>) -> ParseResult<'a, (Sp
292292 ) ) )
293293}
294294
295- fn parse_directives < ' a > ( parser : & mut Parser < ' a > ) -> OptionParseResult < ' a , Vec < Spanning < Directive > > > {
295+ fn parse_directives < ' a > ( parser : & mut Parser < ' a > ) -> OptionParseResult < ' a , Vec < Spanning < Directive < ' a > > > > {
296296 if parser. peek ( ) . item != Token :: At {
297297 Ok ( None )
298298 }
@@ -306,7 +306,7 @@ fn parse_directives<'a>(parser: &mut Parser<'a>) -> OptionParseResult<'a, Vec<Sp
306306 }
307307}
308308
309- fn parse_directive < ' a > ( parser : & mut Parser < ' a > ) -> ParseResult < ' a , Directive > {
309+ fn parse_directive < ' a > ( parser : & mut Parser < ' a > ) -> ParseResult < ' a , Directive < ' a > > {
310310 let Spanning { start : start_pos, .. } = try!( parser. expect ( & Token :: At ) ) ;
311311 let name = try!( parser. expect_name ( ) ) ;
312312 let arguments = try!( parse_arguments ( parser) ) ;
@@ -315,7 +315,7 @@ fn parse_directive<'a>(parser: &mut Parser<'a>) -> ParseResult<'a, Directive> {
315315 & start_pos,
316316 & arguments. as_ref ( ) . map_or ( & name. end , |s| & s. end ) . clone ( ) ,
317317 Directive {
318- name : name. map ( |s| s . to_owned ( ) ) ,
318+ name : name,
319319 arguments : arguments,
320320 } ) )
321321}
0 commit comments