Skip to content

Commit c205e1e

Browse files
committed
default value instead of panic in new_with_raw_value
1 parent cc4158f commit c205e1e

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

bitbybit/src/bitenum.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,9 +282,10 @@ pub(crate) fn bitenum(config: Config, input: &syn::ItemEnum) -> syn::Result<Toke
282282
true => quote!(Result<Self, #base_type>),
283283
false => quote!(Self),
284284
};
285+
let last_element = input.variants.iter().last().unwrap().ident.clone();
285286
let new_default_branch = match non_exhaustive {
286287
true => quote!(value => Err(value)),
287-
false => quote!(_ => unreachable!()),
288+
false => quote!(_ => #ok(Self::#last_element)),
288289
};
289290
let new_match_branches = input.variants.iter().zip(values).map(|(variant, value)| {
290291
let cfg_attrs = variant.attrs.iter().filter(|a| conditional_attr(a));

0 commit comments

Comments
 (0)