Изменение поля immutable-переменной дает NullReferenceEx
От: russianfacepalm  
Дата: 01.01.12 15:19
Оценка:
Такое дело: есть C#-тип
struct Vector3 
{
   public float X;
   public float Y;
   public float Z; 

   [...] 
}


Так вот, если на стороне Nemerle сделать такое:
def vec3 = Vector3();
vec.X += 10;

То на строке где меняется X, кидается NullReferenceException в рантайме. Однако стоит лишь указать, что vec3 — mutable, то все прекрасно работает. Меня как новичка в Nemerle, это очень сбило с толку.

Так и должно быть? Или, почему компилятор (и, соответственно, интеграция) не сообщают, что я пытаюсь изменить immutable-переменную?
Re: Изменение поля immutable-переменной дает NullReferenceEx
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.01.12 15:53
Оценка:
Здравствуйте, russianfacepalm, Вы писали:

R>Так и должно быть?


Нет.

R>Или, почему компилятор (и, соответственно, интеграция) не сообщают, что я пытаюсь изменить immutable-переменную?


Видимо баг.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Изменение поля immutable-переменной дает NullReferenceEx
От: CodingUnit Россия  
Дата: 01.01.12 16:39
Оценка:
Здравствуйте, russianfacepalm, Вы писали:

R>Так и должно быть? Или, почему компилятор (и, соответственно, интеграция) не сообщают, что я пытаюсь изменить immutable-переменную?


Да это баг, добавь плиз иссью на гитхабе.
Re[2]: Изменение поля immutable-переменной дает NullReferenc
От: russianfacepalm  
Дата: 01.01.12 18:34
Оценка:
Здравствуйте, CodingUnit, Вы писали:

CU>Здравствуйте, russianfacepalm, Вы писали:


R>>Так и должно быть? Или, почему компилятор (и, соответственно, интеграция) не сообщают, что я пытаюсь изменить immutable-переменную?


CU>Да это баг, добавь плиз иссью на гитхабе.


Хорошо, счас.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.