@@ -230,6 +230,9 @@ impl<'issue> Issue<'issue> {
230230 & self ,
231231 issues : octocrab:: issues:: IssueHandler < ' octo > ,
232232 ) -> Result < octocrab:: models:: issues:: Issue , & str > {
233+ // declare labels and assignees at higher scope so values are not dropped before borrow is used later in function
234+ let labels: Vec < String > ;
235+
233236 // build the issue pages
234237 let mut issue_page = issues. list ( ) ;
235238 // ... with optional parameters
@@ -255,10 +258,10 @@ impl<'issue> Issue<'issue> {
255258 let assignee = & self . assignees . as_ref ( ) . unwrap ( ) [ 0 ] [ ..] ;
256259 issue_page = issue_page. assignee ( assignee) ;
257260 }
258- /* if self.labels.is_some() {
259- let labels = self.labels.clone().unwrap();
261+ if self . labels . is_some ( ) {
262+ labels = self . labels . clone ( ) . unwrap ( ) ;
260263 issue_page = issue_page. labels ( & labels[ ..] ) ;
261- }*/
264+ }
262265
263266 log:: debug!( "listing issues" ) ;
264267 // send and await the issue page
@@ -297,6 +300,9 @@ impl<'issue> Issue<'issue> {
297300 match self . number {
298301 // issue number specified
299302 Some ( number) => {
303+ // declare labels and assignees at higher scope so values are not dropped before borrow is used later in function
304+ let ( labels, assignees) : ( Vec < String > , Vec < String > ) ;
305+
300306 // build the issue
301307 let mut issue = issues. update ( number) ;
302308 // ... with optional parameters
@@ -306,14 +312,14 @@ impl<'issue> Issue<'issue> {
306312 if self . body . is_some ( ) {
307313 issue = issue. body ( self . body . as_ref ( ) . unwrap ( ) ) ;
308314 }
309- /* if self.labels.is_some() {
310- let labels = self.labels.clone().unwrap();
315+ if self . labels . is_some ( ) {
316+ labels = self . labels . clone ( ) . unwrap ( ) ;
311317 issue = issue. labels ( & labels[ ..] ) ;
312318 }
313319 if self . assignees . is_some ( ) {
314- let labels = self.assignees.clone().unwrap();
320+ assignees = self . assignees . clone ( ) . unwrap ( ) ;
315321 issue = issue. assignees ( & assignees[ ..] ) ;
316- }*/
322+ }
317323 if self . state . is_some ( ) {
318324 // convert str state to issue_state
319325 let issue_state = str_to_issue_state ( self . state . unwrap ( ) ) ?;
0 commit comments