@@ -390,27 +390,23 @@ fn never_type_behavior(tcx: TyCtxt<'_>) -> (DivergingFallbackBehavior, Diverging
390390
391391/// Returns the default fallback which is used when there is no explicit override via `#![never_type_options(...)]`.
392392fn default_fallback ( tcx : TyCtxt < ' _ > ) -> DivergingFallbackBehavior {
393- use DivergingFallbackBehavior :: * ;
394-
395393 // Edition 2024: fallback to `!`
396394 if tcx. sess . edition ( ) . at_least_rust_2024 ( ) {
397- return FallbackToNever ;
395+ return DivergingFallbackBehavior :: ToNever ;
398396 }
399397
400398 // `feature(never_type_fallback)`: fallback to `!` or `()` trying to not break stuff
401399 if tcx. features ( ) . never_type_fallback {
402- return FallbackToNiko ;
400+ return DivergingFallbackBehavior :: ContextDependent ;
403401 }
404402
405403 // Otherwise: fallback to `()`
406- FallbackToUnit
404+ DivergingFallbackBehavior :: ToUnit
407405}
408406
409407fn parse_never_type_options_attr (
410408 tcx : TyCtxt < ' _ > ,
411409) -> ( Option < DivergingFallbackBehavior > , Option < DivergingBlockBehavior > ) {
412- use DivergingFallbackBehavior :: * ;
413-
414410 // Error handling is dubious here (unwraps), but that's probably fine for an internal attribute.
415411 // Just don't write incorrect attributes <3
416412
@@ -426,10 +422,10 @@ fn parse_never_type_options_attr(
426422 if item. has_name ( sym:: fallback) && fallback. is_none ( ) {
427423 let mode = item. value_str ( ) . unwrap ( ) ;
428424 match mode {
429- sym:: unit => fallback = Some ( FallbackToUnit ) ,
430- sym:: niko => fallback = Some ( FallbackToNiko ) ,
431- sym:: never => fallback = Some ( FallbackToNever ) ,
432- sym:: no => fallback = Some ( NoFallback ) ,
425+ sym:: unit => fallback = Some ( DivergingFallbackBehavior :: ToUnit ) ,
426+ sym:: niko => fallback = Some ( DivergingFallbackBehavior :: ContextDependent ) ,
427+ sym:: never => fallback = Some ( DivergingFallbackBehavior :: ToNever ) ,
428+ sym:: no => fallback = Some ( DivergingFallbackBehavior :: NoFallback ) ,
433429 _ => {
434430 tcx. dcx ( ) . span_err ( item. span ( ) , format ! ( "unknown never type fallback mode: `{mode}` (supported: `unit`, `niko`, `never` and `no`)" ) ) ;
435431 }
0 commit comments