diff --git a/packages/next-swc/crates/core/src/server_actions.rs b/packages/next-swc/crates/core/src/server_actions.rs index 7a6beab8ee19..a902acc905e6 100644 --- a/packages/next-swc/crates/core/src/server_actions.rs +++ b/packages/next-swc/crates/core/src/server_actions.rs @@ -337,16 +337,17 @@ impl VisitMut for ServerActions { .emit(); }); } else if !self.in_action_file { - if f.ident.is_none() { - let action_name = gen_ident(&mut self.ident_cnt); - f.ident = Some(Ident::new(action_name, DUMMY_SP)); - } + let ident = match f.ident.as_mut() { + None => { + let action_name = gen_ident(&mut self.ident_cnt); + let ident = Ident::new(action_name, DUMMY_SP); + f.ident.insert(ident) + } + Some(i) => i, + }; - let (maybe_new_fn, _) = self.add_action_annotations_and_maybe_hoist( - f.ident.as_mut().unwrap(), - Some(&mut f.function), - None, - ); + let (maybe_new_fn, _) = + self.add_action_annotations_and_maybe_hoist(&ident, Some(&mut f.function), None); if let Some(new_fn) = maybe_new_fn { f.function = new_fn;