fix Issue 12749 - Constructor-local function allows multiple mutation of immutable member
Improve diagnostic messages
Merge pull request #3555 from 9rnsr/fix12749

Issue 12749 - Constructor-local function allows multiple mutation of immutable member