[00:15:14] <TRUE> чего нет? утечки или памяти?
[00:28:03] <ilov_boris> какая модная обложка http://i44.fastpic.ru/big/2012/1029/72/a247410b86318d10f89e23d7ac322172.jpg
[00:28:09] <ilov_boris> :)
[00:45:20] <valexey> TRUE: да, утечки
[00:53:15] <ilov_boris> valexey: как [] перегрузить чтоб на = работало?
[00:53:35] <ilov_boris> даже не знаю как искать в инете
[00:54:46] <valexey> чегось?
[00:55:07] <ilov_boris> float &operator [] (const int x)
{
return vector[x];
};
[00:55:15] <valexey> operator[] гугли :-)
[00:55:29] <ilov_boris> ну вот так чтобы получить значение
[00:55:39] <ilov_boris> а как на присвоение?
[00:55:44] <valexey> а. ты хочешь присвоить?
[00:55:47] <ilov_boris> да
[00:56:13] <valexey> так точно не работает?
[00:56:32] <valexey> ты же ссылку возвращает
[00:56:40] <valexey> шь
[00:56:41] <ilov_boris> я вообще не знаю почему у меня не работает :D
[00:56:51] <ilov_boris> чегой?
[00:56:57] <valexey> как именно не работает?
[00:57:10] <ilov_boris> #include <iostream>
using namespace std;

class Vector
{
private:
   int size;
   float *vector;
public:
   Vector(int init_size)
   {
       size = init_size;
       vector = new float[size];
   }

   ~Vector()
   {
       delete [] vector;
   }
   
   float &operator [] (const int x)
   {
       return vector[x];
   };
};
   
int main() {

   Vector* m[3];
   for (int i = 0; i < 3; ++i) {
       m[i] = new Vector(3);
   }
   
   for (int i = 0; i < 3; ++i) {
       for (int j = 0; j < 3; ++j) {
           m[i][j] = i * j;
           cout << m[i][j];
       }
       cout << endl;
   }
   
}
[00:57:26] <ilov_boris> ругается на cout << m[i][j];
[00:58:42] <valexey> и при чем тут присваивание!
[00:58:45] <valexey> ?
[00:59:11] <ilov_boris> я просто подозреваю что m[i][j] = i * j; тоже не работает
[00:59:36] <ilov_boris> ибо cout << m[i][j]; говорит что там Vector
[00:59:49] <ilov_boris> значит присваивание неправильно работает
[00:59:54] <valexey> а первый цикл точно компиляется?
[01:00:12] <ilov_boris> Ошибка 1 error C2679: бинарный "<<": не найден оператор, принимающий правый операнд типа "Vector" (или приемлемое преобразование отсутствует) c:\users\admin24\documents\visual studio 2012\projects\mytest1\mytest1\main.cpp 37 1 MyTest1
2 IntelliSense: отсутствует оператор "<<", соответствующий этим операндам
           типы операндов: std::ostream << Vector c:\Users\admin24\Documents\Visual Studio 2012\Projects\MyTest1\MyTest1\main.cpp 37 9 MyTest1

[01:00:16] <valexey> хотя там наверно чат звезду съел
[01:00:45] <ilov_boris> где?
[01:01:11] <valexey> закоментируй вывод полностью
[01:01:16] <valexey> и собери
[01:01:36] <ilov_boris> так ошибок нет
[01:01:49] <valexey> сори, копипастить твой код не могу -компа нет
[01:02:02] <valexey> значит все присваивается
[01:02:25] <ilov_boris> Я не пойму почему оно говорит std::ostream << Vector
[01:02:33] <ilov_boris> когда там float
[01:02:54] <valexey> окружи круглыми скобками
[01:03:02] <valexey> посмотрим что будет
[01:03:10] <ilov_boris> (m[i]) ?
[01:03:49] <valexey> (m[i][j])
[01:04:25] <ilov_boris> ничего не изменилось
[01:04:32] <valexey> есть подозрение что у << приоритет выше
[01:04:54] <ilov_boris> :D блин вот я мастер говнокодить на c++
[01:05:08] <valexey> а, блин
[01:05:11] <ilov_boris> на каждом шагу проблема
[01:05:25] <valexey> чертова звезда и чат
[01:05:41] <ilov_boris> чего?
[01:06:00] <valexey> *м[i][j]
[01:06:09] <valexey> так попробуй
[01:06:40] <ilov_boris> в скобках?
[01:07:23] <valexey> точнее даже так: *(m[i])[j]
[01:07:36] <valexey> у тебя же не массив векторов
[01:07:49] <valexey> а массив указателей на вектора
[01:07:54] <ilov_boris> теперь ругается что оператора * нету
[01:08:06] <valexey> кто разименовывать будет за тебя
[01:08:07] <valexey> ?
[01:08:29] <ilov_boris> и еще
Ошибка 1 error C2100: недопустимое косвенное обращение c:\users\admin24\documents\visual studio 2012\projects\mytest1\mytest1\main.cpp 37 1 MyTest1

[01:09:13] <ilov_boris> ну я подозревал что нужно разыменовать
[01:09:21] <valexey> что за строка?
[01:09:26] <ilov_boris> только не догоняю как это сделать
[01:09:49] <ilov_boris> это ошибка если звездочку добавить
[01:12:03] <valexey> ( *(m[i]))[j]
[01:12:13] <valexey> больше скобочек!
[01:12:36] <ilov_boris> O_o
[01:12:40] <ilov_boris> заработало
[01:12:43] <ilov_boris> писец
[01:12:59] <ilov_boris> сенкс
[01:13:21] <ilov_boris> Блин как же туго плюсовый синтаксис воспринимается
[01:13:31] <ilov_boris> прямо антипод паскалей
[01:14:15] <valexey> на самом деле часть скобочек лишняя
[01:14:21] <valexey> ну да ладно
[01:14:47] <valexey> в паскале тебе тоже явно разименовывать пришлось бы
[01:15:09] <valexey> и тоже небось со скобочками
[01:15:17] <ilov_boris> ну в TP да
[01:16:14] <valexey> да в любом паскале
[01:16:21] <ilov_boris> в CP нет
[01:16:25] <ilov_boris> :)
[01:18:21] <valexey> а cp никаким боком не Паскаль
[01:18:27] <ilov_boris> да и в TP наверно без скобочек таки
[01:18:53] <ilov_boris> с++ то наверно не может понять какой именно оператор использовать
[01:19:12] <ilov_boris> а в TP на ^ ничего больше не назначено
[01:19:30] <valexey> почему? может. и применяет :-)
[01:19:43] <ilov_boris> хрен знает
[01:19:51] <ilov_boris> нужно проверять
[01:20:00] <ilov_boris> я так в TP не извращался :D
[01:20:01] <valexey> уж унарный от бинарного он точно отличить в состоянии
[01:20:10] <ilov_boris> так как писал на нем еще в школе
[01:20:57] <valexey> да у тебя вообще весь плюсовый код - какое-то извращение нехорошее :-)
[01:21:09] <valexey> сама идея такой матрицы
[01:21:14] <ilov_boris> тык я изучаю, а не пишу
[01:21:29] <ilov_boris> матрица просто подопытный кролик
[01:21:59] <ilov_boris> у меня пока нет чуйства что я понимаю синтаксис
[01:22:25] <ilov_boris> потому пробую всяко
[01:22:29] <ilov_boris> чтоб не плавать
[01:23:21] <valexey> О'Кэйси
[01:23:31] <valexey> тьху
[01:23:39] <valexey> автозамена
[01:23:42] <ilov_boris> хм... а на присвоение таки не работает
[01:23:44] <valexey> ок
[01:23:49] <ilov_boris> херню выдает
[01:24:36] <ilov_boris> а во заработало
[01:25:01] <ilov_boris> добавил эти скобочки в присвоении :)
[01:29:24] <ilov_boris> Че то я не пойму
[01:29:26] <ilov_boris> а к чему оно обращается если без разыменования? O_o
[01:29:59] <ilov_boris> оно ведь работает
[01:30:44] <ilov_boris> почему так компилится вообще?
[01:32:59] <valexey> куда обращается понятно
[01:33:17] <valexey> а вот почему компилится
[01:34:44] <ilov_boris> и куда?
[01:34:57] <ilov_boris> ведь это маразм
[01:35:06] <ilov_boris> Vector v;
[01:35:15] <ilov_boris> cout v[4];
[01:35:23] <ilov_boris> че это значит???
[01:35:37] <ilov_boris> cout << v[4]; поправочка
[01:36:08] <ilov_boris> ну или Vector* v;
[01:36:13] <ilov_boris> один хрен маразм
[01:36:43] <ilov_boris> если [] не перегружен ессесно
[01:39:42] <ilov_boris> ладно я спать
[01:41:44] <valexey> ilov_boris: разоврался  
[01:41:55] <valexey> ты создаешь вектора
[01:42:13] <valexey> невнятного размера
[01:44:19] <valexey> надо так
[01:44:33] <valexey> explicit Vector(int init_size)
[01:44:50] <valexey> в объявлении конструктора
[05:32:38] <Kemet> какая дрядь этот ваш с++ )))
[14:33:05] <ilov_boris> valexey: зацени мою новую аву на форуме
[14:36:43] <valexey> ilov_boris: IMHO слишком злобно. ну, то есть я все же стараюсь не использовать в качестве аватары фотки знакомых людей/собеседников
[14:37:22] <ilov_boris> А не знаком с ним :)
[14:37:32] <ilov_boris> я не знаком
[14:38:40] <valexey> ну, есть люди которые лично знакомы на форуме.
[14:39:16] <valexey> Kemet: модула-3 рвет шаблон
[14:39:28] <valexey> в плане правил присваивания
[14:39:47] <valexey> она позволяет писать так:
[14:40:04] <valexey> child := parent;
[14:40:48] <valexey> где оба являются ссылочными типами и parent имеет базовый тип, а child производный от него
[14:41:22] <valexey> будет рантайм проверка. явным образом в коде этого не будет видно.
[14:42:59] <ilov_boris> сделал еще более злобный аватар :D
[14:44:13] <valexey> ну, это пожалуйста :-) хотя и не оригинально конечно.
[14:46:03] <valexey> /me читает папир про типы модулы-3 и почему там именно такая система типов
[15:12:31] <valexey> var-параметры -- зло
[15:18:09] <ilov_boris> почему?
[15:18:24] <Kemet> .
[15:19:17] <valexey> потому что они сильно усложняют жизнь
[15:19:42] <Kemet> valexey: кто чего рвет
[15:19:49] <valexey> в частности из за них не получится иерархии процедурных типов
[15:20:13] <valexey> Kemet:шаблон она рвет!
[15:20:24] <Kemet> где!
[15:20:47] <valexey> Дык я же написал где именно
[15:20:51] <TRUE> ну и правильно, что рвёт. Долой шаблоны!11
[15:21:25] <Kemet> аа, в мозгу!
[15:21:40] <valexey> [14:39:16] <valexey> Kemet: модула-3 рвет шаблон
[14:39:28] <valexey> в плане правил присваивания
[14:39:47] <valexey> она позволяет писать так:
[14:40:04] <valexey> child := parent;
[14:40:48] <valexey> где оба являются ссылочными типами и parent имеет базовый тип, а child производный от него
[14:41:22] <valexey> будет рантайм проверка. явным образом в коде этого не будет видно.
[15:21:56] <TRUE> а в рантайме ошибка будет или присвоится-таки?
[15:22:31] <valexey> будет ошибка если не удастся привести тип. а это может удастся
[15:23:34] <valexey> то есть там где в плюсах надо явно писать dynamic_cast, там в модуле ничего писать не надо. оно само попробует и возможно обломится
[15:24:19] <Kemet> valexey: это ты на какой странеице читаешь
[15:24:46] <valexey> это я отдельный папир от 1992 года скачал
[15:25:15] <valexey> впрочем это и без папира можно
[15:25:30] <valexey> http://modula3.elegosoft.com/cm3/doc/reference/complete/html/2_3_1Assignment.html
[15:25:44] <valexey> вот. там не много :-) и примеры есть
[15:26:43] <Kemet> так это opaque типы
[15:27:38] <valexey> неа
[15:27:40] <Kemet> у них должны собдюдаться правила рефлективности и транзистивности, во!
[15:28:17] <Kemet> и этотизвестно на жтапе компиляции
[15:29:16] <valexey> тут рантайм чек. там где в обероне будешь писать pc := pp(PC), там в модуле будет тупо pc := pp;
[15:33:14] <valexey> Kemet: http://www-plan.cs.colorado.edu/diwan/class-papers/p202-cardelli.pdf
[15:33:21] <valexey> вот этот папир
[15:33:48] <valexey> см. 3.7
[15:34:33] <valexey> ой, это даже 1989 год
[15:39:24] <valexey> а вот и message bus без сасилования кучи: http://modula3.elegosoft.com/cm3/doc/reference/complete/html/2_3_18Typecase.html (см пример)
[15:39:57] <valexey> *без насилования кучи/GC
[15:40:14] <valexey> не ясно чего там Илья не нашел…
[15:45:57] <valexey> хотя я похоже не прав
[15:49:29] <Kemet> valexey: это описано в том большом талмуде со страницы 197.   10.5 Штекщвгсешщты ещ Щзфйгу Ензуы
[15:49:50] <Kemet> introduction to Opaque Types
[15:50:07] <valexey> до Талмуда я пока не добрался.
[15:50:54] <valexey> вот припру домой комп, настрою там компилер и среду, буду читать и уже на практике экскременты ставить
[16:31:10] <alexey.veselovsky> " Язык уже необозрим и непознаваем. Аду 83 я знал практически
наизусть, в 95-й легко ориентировался и сразу находил ответ практически на любой
вопрос. В 2005 начал конкретно плавать. Уверенно ориентироваться в 2012 и не пытаюсь,
заранее готов к тому, что многие вопросы копать придется долго и нудно."
[17:10:07] <Kemet> аццкий язык
[17:12:01] <alexey.veselovsky> там у народа постепенно назревает желание запилить новый язык :-) ибо эволюционно с сохранением полной обратной совместимости Аду тащить все тяжелее
[17:12:12] <alexey.veselovsky> Да и пользоваться тоже
[17:12:50] <Kemet> угу
[17:13:44] <alexey.veselovsky> особенно тяжко инструментальщикам, которые не могут работать с подмножеством языка. они обязаны поддерживать его целиком
[17:14:07] <alexey.veselovsky> то есть даже не компиляторщикам а всяким кто скажем статическим анализом кода занимается
[17:15:59] <Kemet> я ее както открыл, и закрыл в аццком ужасе
[17:16:11] <alexey.veselovsky> ну, я даже повозился
[17:16:18] <alexey.veselovsky> на уровне Ады-95
[17:16:29] <alexey.veselovsky> язык то приятный на самом деле. особенно базовые идеи
[17:16:50] <alexey.veselovsky> (впрочем, разве ж меня напугаешь голой жопой? я же C++ люблю!)
[17:21:05] <Kemet> я вот думаю, что типизированные диапазоны в м3, вполне бы пошли, а то сейсас конечный тип определяется по минимальному размеру для размещения
[17:21:55] <alexey.veselovsky> до сих тонкостей я еще не дошел :-)
[17:23:35] <Kemet> а вообще талмуд действительно хорошо написан, даже для совершенно незнакомых с программированием вполне по силам будет
[17:23:47] <alexey.veselovsky> угу
[17:23:57] <Kemet> перевести бы его еще
[17:24:11] <alexey.veselovsky> и языком простым. даже быдлы не нативноанглоязычные могут осилить :-)
[17:24:28] <alexey.veselovsky> Посади практикантку за перевод :-D
[17:24:30] <Kemet> а то, даже я осилил
[17:25:02] <Kemet> в этом году както неахти достались
[17:25:21] <alexey.veselovsky> гм. интересно, какие шансы подобное издать?
[17:25:53] <Kemet> достаточно высокие, но тут надо ж с кемто договариваться
[17:26:21] <alexey.veselovsky> угу
[17:26:46] <Kemet> перевести-то не проблема, я с издательством совершенно неготов
[17:26:59] <Kemet> незнаком
[17:27:11] <alexey.veselovsky> про издательство Валерий Лаптев тут писал: http://zx.oberon2.ru/forum/viewtopic.php?f=37&t=70#p180
[17:29:51] <alexey.veselovsky> ну а если совсем лениво с издательствами договариваться, то есть такая штука: http://wikers.ru/samizdal
[17:30:11] <alexey.veselovsky> через них, в частности, журнал практика функционального программирования издавался
[17:30:39] <alexey.veselovsky> Нужно только, на самом деле, утрясти права у оригинального издательства. англоязычного
[17:43:21] <Kemet> тираж не шибко великий будет
[17:45:38] <alexey.veselovsky> ну ясное дело
[17:46:02] <alexey.veselovsky> поэтому самиздал да и URSS вполне подходит.
[18:50:57] <alexey.veselovsky> Бгг. Мое сообщение в коровнике вырезали
[18:51:02] <alexey.veselovsky> Заодно с сообщением Ильи
[18:51:10] <alexey.veselovsky> Илье - бан на сутки.
[18:51:34] <alexey.veselovsky> А мое сообщение просто втихую вытерли. Блин. Криворукие макаки а не модераторы.
[18:52:49] <TRUE> а что там было?
[18:53:36] <alexey.veselovsky> да ничего тащемто. то есть там предложил Рыжий ISAPI юзать вместо CGI
[18:53:55] <alexey.veselovsky> Илья написал, что нах этот ISAPI нужен, он же исключительно под маздаыный IIS
[18:54:04] <alexey.veselovsky> Я написал что его также поддерживает, вообще то, апач
[18:54:08] <alexey.veselovsky> Все.
[18:54:15] <TRUE> а
[18:55:13] <alexey.veselovsky> А Рыжий похоже имеет индульгенцию перманентную, как и инфо21
[18:55:31] <alexey.veselovsky> Он может любую ересь где угодно писать. На него просто не реагируют.
[19:02:11] <Kemet> а бан за что
[19:02:42] <alexey.veselovsky> за вольное или не вольное снижение уровня дискуссии
[19:03:08] <Kemet> ааа, ну да ну да
[19:03:37] <alexey.veselovsky> классная формулировка, правда ведь?
[19:03:46] <alexey.veselovsky> любых инакомыслящих можно под нее подвести
[19:03:55] <Kemet> а то, что угодано под нее подвести можно
[19:04:08] <alexey.veselovsky> сказал что goto классная штука, и если ты не Рыжий, то получи бан.
[19:05:02] <alexey.veselovsky> Блин. Не форум, а какая-то Россия в миниатюре. В плане управленцев.
[19:05:08] <alexey.veselovsky> И законодателей
[19:05:44] <Kemet> гы, схожесть есть, цели видимо разные
[19:06:05] <alexey.veselovsky> В плане законотворчества - цели совпадают
[19:06:13] <Kemet> с коровника можно свалить, а из страны... пусть путеноидв алят
[19:06:17] <alexey.veselovsky> Иметь такой сет законов, которые бы позволили вертеть как угодно
[19:06:53] <alexey.veselovsky> Ну, то есть вертеть как угодно и так будут, а так видимость законности создается. Эмм.. Порядка даже.
[19:07:06] <alexey.veselovsky> Узакониваем бардак и все, у нас порядок!
[19:07:53] <Kemet> 3-й день доступа к квс м3 неимею
[19:08:08] <Kemet> не проходит аноимная логинация
[19:08:15] <alexey.veselovsky> гм-гм. странно.
[19:08:40] <Kemet> ну может у них с серваком чего
[19:08:57] <alexey.veselovsky> щща попробую
[19:09:19] <Kemet> а может меня забанили !
[19:09:36] <alexey.veselovsky> по IP!
[19:09:45] <Kemet> по диапазону!
[19:10:13] <alexey.veselovsky> гм. тыкаю при логине return,и ничего. то есть висит
[19:10:17] <alexey.veselovsky> ни да ни нет
[19:10:26] <Kemet> ага
[19:10:33] <Kemet> таймаут
[19:10:56] <alexey.veselovsky> угу
[19:11:03] <alexey.veselovsky> напиши в мыллист :-)
[19:11:25] <Kemet> да мой аглицкий не настошлько хрпрш
[19:12:15] <alexey.veselovsky> Да тупо: can't acces to cvs.
[19:12:19] <alexey.veselovsky> ну и лог типо:
[19:12:34] <alexey.veselovsky> # cvs -d :pserver:anonymous@modula3.elegosoft.com:/usr/cvs login
Logging in to :pserver:anonymous@modula3.elegosoft.com:2401/usr/cvs
CVS password:

cvs [login aborted]: connect to modula3.elegosoft.com <http://modula3.elegosoft.com>(46.4.219.187):2401 failed: Connection timed out

[19:12:56] <Kemet> сами то они норм работают мне мыллист логи идут
[19:13:16] <alexey.veselovsky> ну, да. возможно у них другой интерфейс для этого
[19:14:28] <alexey.veselovsky> написал :-)
[19:19:13] <Kemet> шо за страсть такая
[19:19:23] <Kemet> ааа это не ты писал
[19:20:20] <alexey.veselovsky> это ты про что?
[19:20:39] <Kemet> Dear Elego CollabNet Partner,

A case has been reassigned to you. Here are the case details:

Case Number : CNSC-051581
Case Subject : Error bumping revisions post-commit
Case Priority : P3 (Medium)
Case Type : Report a defect
Case Link : https://na1.salesforce.com/5003000000AL2kS

Case Description :
Hallo Herr Klust,

[19:21:24] <Kemet> и тд
[19:22:04] <alexey.veselovsky> Эээ... Какая-то жуть. Бюрократическая :-)
[19:22:44] <alexey.veselovsky> я тупо в девлист написал. ибо я быдла необразованная, пусть разруливают сами :-)
[19:22:51] <Kemet> мне ир она зачем )))
[19:23:30] <alexey.veselovsky> а это откуда?
[19:23:41] <Kemet> вот так и знал, подпишесья на одно и целая пака корпоративного спама придет
[19:23:53] <Kemet> так от них пришло
[19:24:02] <alexey.veselovsky> гм. мне не пришло
[19:24:03] <Kemet> у тебя разве нету
[19:24:18] <alexey.veselovsky> правда я только на девлист подписан, а на анонсы и свк-коммитты нет
[19:24:35] <Kemet> ааа
[19:25:02] <alexey.veselovsky> Я решил что туда можно смотреть раз в месяц через архив :-)
[19:25:12] <Kemet> ну там пишут по какие то проблемы с коммитами в свн и упоминается тортойсесвн
[19:25:38] <alexey.veselovsky> ну, я тортилой не пользуюсь, мне не где. так что мне не актуально
[19:25:50] <Kemet> паричем даже не на аглицком ниже а на немецком вроде
[19:26:25] <Kemet> а я сначала думал вот это ты накатал им багрепорт )
[19:26:46] <alexey.veselovsky> ненене. у меня все скромнее. почти дословно то что я сюда кидал
[19:27:38] <egp> эхъ. шо делать после работы...
[19:28:02] <alexey.veselovsky> как что? спеки читать!
[19:28:34] <alexey.veselovsky> правда я их читаю до работы. проснешься, чайку замутишь, распечаточку очередного папира о модуле-3 возьмешь и читаешь :-)
[19:28:46] <alexey.veselovsky> всяко лучше чем советские газеты по утру :-)
[19:34:17] <egp> у тебя работа внятная, это гут
[19:34:30] <alexey.veselovsky> в смысле внятная?
[19:34:48] <egp> ну микроконтроллеры - это несложно по сравнению с вебаппами
[19:35:05] <alexey.veselovsky> я под микроконтроллеры не пишу практически
[19:35:06] <Kemet> In Modula-3, certain types are classified as subtypes of other types. The subtype relation-
ship, which was introduced on page 60, is generally used to determine type compatibility
for assignment. However, subtypes become increasingly more important with reference
types and (especially) object types.
When type S is a subtype of type T, we write S <: T. T is also referred to as a super-
type of S. The subtype relationship is reflexive (i.e., T <: T) and transitive (i.e., if S <: T
and T <: P, then S <: P). Here are the subtype relations for the reference types we have dis-
cussed so far.
[19:35:10] <alexey.veselovsky> сейчас как раз вебом занимаюсь
[19:35:21] <alexey.veselovsky> 4 ЯП в связке :-)
[19:35:42] <egp> я вот сдуру подписался на предпринимательский веб-проект, теперь жалею - появилась вакансия геймдевелопера для мобил (j2me, android, bb)
[19:35:54] <alexey.veselovsky> Go, ObjC, js, C#
[19:38:12] <alexey.veselovsky> ну и оси: iOS, Linux, Windows
[19:38:35] <alexey.veselovsky> и все это должно работать в одной связке. данные переливаются отсюда-туда и обрабатываются на нескольких узлах. и да, все это веб.
[19:42:15] <Kemet> alexey.veselovsky: NULL <: REF T, and
REFT<: REFANY
There is no subtype relation between different fixed reference types. That is, REF S <:
REF T only if S and T are the same type. When S <: T, all elements of type S are also ele-
ments of type T. For example, all references of type REF T are also elements of the
REFANY type.
We can now state the compile-time rule for assignment more precisely. A reference
type R is assignable to a type L if R <: L, or if L <: R and R is not ADDRESS. When L <: R,
a run-time check is needed to ensure that the value being assigned is a member of type L.
(When R <: L, this is known at compile time.) The reference type compatibility rule for the
= and # operators is the same: L = R is permitted as long as R is assignable to L or L is as-
signable to R. These rules hold for all reference types, including objects.
[19:43:25] <alexey.veselovsky> дойдут руки - буду экспериментировать :-)
[19:43:51] <alexey.veselovsky> тут я пожалуй компилятору доверяю. поведение не менялось уже 20 лет. и даже больше
[19:44:35] <egp> маниаки
[19:45:57] <Kemet> egp: хде
[19:46:07] <egp> тут
[19:46:33] <Kemet> egp: они вокруг тебя? )
[19:47:06] <egp> да, тут в конфе
[19:48:36] <Kemet> alexey.veselovsky: нету твоего письма пока (
[19:48:59] <alexey.veselovsky> да, оно как-то очень слоупочно ходит
[19:49:47] <alexey.veselovsky> Эх. Веб-соцкеты прикручивать к шарпу... Беее
[19:50:11] <alexey.veselovsky> Хотя, если подумать, то можно и тупо http попробовать.
[19:50:13] <Kemet> зачем ему сокеты
[19:50:35] <alexey.veselovsky> Как зачем ? Чтобы в сервак данные лить
[20:03:50] <egp> Жизнь вне науки тщетна.
[20:36:31] <alexey.veselovsky> черт. в .net 3.5 еще и HttpClient'a нет
[20:36:37] <alexey.veselovsky> вот какашка то
[22:16:22] <kpmy> alexey.veselovsky: как там у тебя с модулой и джысоном?