Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ошибка вычисления функций из стандартной библиотеки без присваивания #1459

Closed
leandr92 opened this issue Oct 10, 2024 · 3 comments

Comments

@leandr92
Copy link

leandr92 commented Oct 10, 2024

Внезапно была обнаружена забавная но неприятная багуля.

Если выполнить скрипт состоящий из одной строки с вызовом функции из стандартной библиотеки, но без присваивания

Строка(1);

То получим исключение
"/ Ошибка в строке: 1,7 / Ожидается символ: EndOfText}"

Если мы попытаемся так же без присваивания вызвать любую пользовательскую функцию, то все будет в порядке.

Если сравнивать поведение с 1С, то там тоже есть такая же проблема, но ошибка более понятная, хоть и тупая)
"Строка кода 1: {(1,7)}: Встроенная функция может быть использована только в выражении. (Строка)"
Есть ли какой-то способ обхода этой неприятной ситуации или закостыливания?

воспроизводится и на 1.9 и на 2.0

@Mr-Rm
Copy link
Collaborator

Mr-Rm commented Oct 18, 2024

TWIMC: считать такое допустимым или ошибкой?

@leandr92
Copy link
Author

leandr92 commented Oct 18, 2024

TWIMC: считать такое допустимым или ошибкой?

Так как сейчас у меня нет уверенности, что такая ошибка ("Ожидается символ: EndOfText") возникает только в этом кейсе, скорее всего нет. Я бы предложил, если и не менять поведение, то хотя бы сделать отдельную, более понятную, ошибку.

@nixel2007
Copy link
Collaborator

1с-совместимо и все такое, но если выпиливание такого поведения приведёт к меньшей/более корректной кодовой базе, то я за то, чтобы такое поведение допускалось. Если же это по каким-то причинам очень сложно, то хотя бы привести к тексту исключения 1с.

EvilBeaver added a commit that referenced this issue Oct 21, 2024
fix #1459: диагностика использования встроенной функции как процедуры
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants