**Version Used**: VS 17.14.13 **Steps to Reproduce**: ```cs int val; try { val = 1; } catch { val = 2; } finally { Console.WriteLine(val); // Use of unassigned local variable 'val' } ``` **Diagnostic Id**: `CS0165` **Expected Behavior**: No error since `val` is assigned in both `try` and `catch` "branches", so it is 100% assigned at the point of `finally` **Actual Behavior**: Compiler error `CS0165: Use of unassigned local variable 'val'`