// Test that a `#[const_continue]` that breaks on a polymorphic constant produces an error. // A polymorphic constant does not have a concrete value at MIR building time, and therefore the // `#[loop_match]~ desugaring can't handle such values. #![allow(incomplete_features)] #![feature(loop_match)] #![crate_type = "lib"] trait Foo { const TARGET: u8; fn test_u8(mut state: u8) -> &'static str { #[loop_match] loop { state = 'blk: { match state { 0 => { #[const_continue] break 'blk Self::TARGET; //~^ ERROR could not determine the target branch for this `#[const_continue]` } 1 => return "bar", 2 => return "baz", _ => unreachable!(), } } } } }