А скорее всего нормально не будет (только предположение, код патча не смотрел), т.к. будет логическая ошибка по определению:А как это будет работать с clone?
А как это будет работать с clone?
Вот да. Либо final как в Java, либо readonly как в C#. Я, конечно, понимаю, что полноценно то или другое сделать сложнее, чем простой булевый флагНу разве что вопрос семантики раздражает. Называть write-once (final-like) «readonly» — это как-то очень странно. В принципе, правильно сделали, что в текущем виде отклонили. Если бы было просто final, то было бы OK.
Тут проблема, что об этом вообще особо не думали.уровень базовых классов фремвоков
Да не так уж все расчудесно в Java с final. Если открыть его для рефлекшена, то оно закроет путь к оптимизации производительности. Если не открывать, то получаем не всегда работающие фреймворки. final на проперти как в Java вполне себе тема. Но writeonce - очередной путь к плохому коду. Поди найди потом где оно once. В плюсах давно уже такой принцип есть - RAII. Смысл там если перефразировать - неконсистентные объекты не должны существовать. А writeonce как раз подразумевает создание некондиции. Опять же на бытовой язык перевести это вроде как осетрина второй свежести. В природе существовать может, но вряд-ли удовлетворит более менее здоровый вкус.Тут проблема, что об этом вообще особо не думали.
В Java все выглядит целостной и продуманной конструкцией, для уровня фреймворков - вот, пожалуйста, Reflection.