Форум программистов, компьютерный форум, киберфорум
Наши страницы
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
Соколиный глаз
C#
179 / 161 / 112
Регистрация: 25.07.2014
Сообщений: 2,870
Записей в блоге: 10
Завершенные тесты: 1
#1

Вылетает при компиляции неправильного кода, вместо выдачи ошибки

18.08.2018, 17:45. Просмотров 150. Ответов 8
Метки нет (Все метки)

Pascal
1
2
3
4
5
6
7
8
9
type
  TExample<T> = class
    event f: Action<T>; // Обязательно здесь должен стоять тип, состоящий только из T.
    
    constructor Create() := f += () -> Writeln(1);
  end;
 
begin
end.
На выходе получаем:
Внутренняя ошибка компилятора в модуле [pabcnetc.exe] :'System.Exception: Compile internal error: Undefined delegate operation'
1) С автоклассами и записями также реагирует на ошибку.
2) С типами функциональных (а не процедурных) делегатов получаем ту же самую внутреннюю ошибку компилятора.

Но, если убрать event, то:
Pascal
1
2
3
4
5
6
7
8
9
type
  TExample<T> = auto class
    f: Action<T>;
    
    constructor Create() := f += () -> Writeln(1);
  end;
 
begin
end.
выдает ожидаемое сообщение об ошибке:
Program4.pas(5) : Нельзя преобразовать тип Action<T> к Action<>
Добавлено через 8 минут
Еще тесты показали, что компилятор падает при попытке компиляции следующего кода:
Pascal
1
2
3
4
5
6
7
8
9
type
  TExample<T> = class
    event f: Func0<T>;
    
    constructor Create() := f += 1;
  end;
 
begin
end.
, но при замене Func0<T> на Action0:
Pascal
1
2
3
4
5
6
7
8
9
type
  TExample<T> = class
    event f: Action0;
    
    constructor Create() := f += 1;
  end;
 
begin
end.
реакция вполне адекватна:
Program4.pas(5) : Нельзя преобразовать тип integer к System.Action
Также, тесты показали, что:
Pascal
1
2
3
4
5
6
7
type
  TExample<T> = class
    event f: Action<T>;
  end;
 
begin
end.
, сломает компилятор с той же ошибкой, как и если бы на место Action<T> был Func0<T>.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.08.2018, 17:45
Ответы с готовыми решениями:

Ошибки при компиляции
При компиляции данного кода вылезают ошибки. unit Unit1; interface uses...

Тест Чоу. МНК. Ошибки при компиляции
Написала реализацию теста Чоу. Наверное, ошибок много. Мой компилятор выдает...

Ошибка при компиляции кода с процедурой, имеющей переменное число параметров
procedure P0(params a: array of byte) := exit; procedure P1(b: byte; params a:...

с2079 и с2228 ошибки при компиляции ниже участок кода, с которым праблема и скрины ошибки
// ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ bool game = true; // КЛАССЫ class Me; class...

Ошибки при компиляции кода
Всем привет, суть проблемы следующая решил написать программу для одной задачи,...

8
Mike_Boone
18.08.2018, 22:19
  #2

Не по теме:

Весь раздел в спаме... Ошибки компилятора или самого IDE должны исправлять разработчики или люди, которые хотя бы его исходники имеют(по желанию).

0
Соколиный глаз
19.08.2018, 07:35  [ТС]
  #3

Не по теме:

Mike_Boone, Вы считаете, что создание тем, посвященным ошибкам компилятора, является спамом? Во-вторых, я не работаю с разработчиками над проблемой поиска багов, я это делаю для себя. То, что считаю интересным, скидываю на форум.

0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
25968 / 17412 / 6906
Регистрация: 22.10.2011
Сообщений: 30,656
Записей в блоге: 6
19.08.2018, 10:13 #4
Цитата Сообщение от Соколиный глаз Посмотреть сообщение
То, что считаю интересным, скидываю на форум
Почему на ЭТОТ форум, а не на форум разработчиков? Чем мы можем помочь в исправлении этих ошибок? А становиться источником лжи (если вдруг выяснится, что проблема - не в компиляторе, а в самом коде, ибо нельзя бездумно брать C#-овый код и пытаться его дословно перевести на Паскаль, могут же быть какие-то особенности при переносе) - как-то не очень хочется.
0
Соколиный глаз
C#
179 / 161 / 112
Регистрация: 25.07.2014
Сообщений: 2,870
Записей в блоге: 10
Завершенные тесты: 1
19.08.2018, 10:33  [ТС] #5
volvo, когда то давно я любил эту среду. Думал, что у нее есть будущее. Но с недавнего времени мое мнение о ней стало резко негативным - устал терпеть бесконечные баги IDE, компилятора. Говорил разработчикам, чтобы переписали среду заново - ничего не хотят. Говорил, что среда нестабильная, они отрицали. Называли обузой. Вместо того, чтобы понять почему я так говорю и посмотреть а что в действительности они имеют. Никакие доказательства нестабильности среды не действовали на них, они считали, что они всегда во всем правы, особенно в том, что среда не имеет существенных недостатков. В итоге сейчас я выкладываю баги сюда, чтобы пользователи знали о них, и не считали (кто считает), что среда без существенных недостатков. Я против того, чтобы разработчики лгали нагло всем о стабильности среды. Я считаю, что с этим надо что-то делать. Я не буду сидеть на месте и смотреть на их наглое вранье, я считаю, что их надо остановить...

Не по теме:

Не желаю сам быть таким как они и никому не советую.



Почему на ЭТОТ форум, а не на форум разработчиков?
Помогать этим криворуким разработчикам нет желания. А во-вторых они мне не рады там, так как я использовал достаточно много методов, чтобы они наконец поняли, что они ошибаются в том, что считают что их среда стабильная, но все безуспешно.

Цитата Сообщение от volvo Посмотреть сообщение
(если вдруг выяснится, что проблема - не в компиляторе, а в самом коде, ибо нельзя бездумно брать C#-овый код и пытаться его дословно перевести на Паскаль, могут же быть какие-то особенности при переносе) - как-то не очень хочется.
Я не брал код с C#, в этом Issue, а писал его с нуля. А C# использую лишь для сравнения - этому языку я доверяю больше.

Я эти баги откопал, и я должен за это нести ответственность, а не форум.
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
25968 / 17412 / 6906
Регистрация: 22.10.2011
Сообщений: 30,656
Записей в блоге: 6
19.08.2018, 11:10 #6
Цитата Сообщение от Соколиный глаз Посмотреть сообщение
когда то давно я любил эту среду. Думал, что у нее есть будущее. Но с недавнего времени мое мнение о ней стало резко негативным - устал терпеть бесконечные баги IDE, компилятора.
Аналогично. А вот дальше я сделал нечто совсем иное: забыл о существовании PABC.NET, и перешел на другую среду (в моем случае это - Лазарус), которая развивается, разработчики адекватны, и если их спросить о причинах отсутствия каких-то фич - они аргументированно ответят, почему их нет, или скажут, что оно в разработке (и даже скажут, на каком этапе разработки), или вообще подскажут, что оно уже готово, но я не там искал, и надо сделать вот так и вот так, чтобы этим пользоваться.

Зачем ты теряешь время (и свое, и наше), постя десятки никому из нас не нужных отчетов о багах?

Цитата Сообщение от Соколиный глаз Посмотреть сообщение
Помогать этим криворуким разработчикам нет желания
Они уже давно отслеживают этот форум. Сам виноват, не надо было писать свои гневные посты везде, где смог дотянуться. То есть, ты помогаешь в первую очередь им: они оперативно заляпывают указанное тобой здесь, и имеют репутацию проекта с очень быстрым исправлением ошибок. Ну, и кто выиграл?
0
Соколиный глаз
C#
179 / 161 / 112
Регистрация: 25.07.2014
Сообщений: 2,870
Записей в блоге: 10
Завершенные тесты: 1
19.08.2018, 11:13  [ТС] #7
volvo, хорошо. Не буду больше. Пусть сами баги отыскивают. Хотя, с другой стороны, если посмотреть на то, как они баги исправляют - чем больше исправления багов, тем больше вероятность появления новых... (Именно на это я и рассчитывал, создавай кучу тем, они будут править, внося новые косяки, а на костылях никакой проект вечно не продержится - когда-нибудь, да развалится. Уже это процесс начался (и не недавно, а давно).)
0
Joy
Эксперт Pascal/Delphi
2143 / 1181 / 1427
Регистрация: 29.08.2014
Сообщений: 4,328
20.08.2018, 06:05 #8
Цитата Сообщение от Соколиный глаз Посмотреть сообщение
криворуким разработчикам
- сам бы взял и написал чего-нибудь подобное за "Спасибо", выложил, а мы бы покритиковали.

Не по теме:

интересно есть ли в природе "пряморукие" разработчики.

0
Соколиный глаз
C#
179 / 161 / 112
Регистрация: 25.07.2014
Сообщений: 2,870
Записей в блоге: 10
Завершенные тесты: 1
20.08.2018, 09:01  [ТС] #9
Joy, сейчас я умею в некоторой степени проводить тестирование (на PascalABC.Net немного научился), когда научусь писать компиляторы и интерпретаторы Вам первому дать знать об этом.

Добавлено через 1 минуту
Цитата Сообщение от Joy Посмотреть сообщение
интересно есть ли в природе "пряморукие" разработчики.
Ну, наверное, есть.
0
20.08.2018, 09:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.08.2018, 09:01

Ошибки при компиляции кода
У меня дано задание &quot;Записать программу, которая на ввод знака препинания...

Ошибки при компиляции кода с fstream
Здравствуйте! При работе с библиотекой fstream появились странные ошибки даже...

Ошибки при компиляции кода в С++ Builder 6
Помогите исправить ошибки. Код в C++ Builder 6. #include &lt;vcl.h&gt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru