Calling AST node "Length" breaks compilation
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 42/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- python
- Lĩnh vực
- build-system, compilers
Hướng nghiên cứu
Tái hiện lỗi bằng create-project.py, sau đó kiểm tra repro/language/parser.py và parse.adb được sinh ra quanh dòng được báo cáo. Kiểm tra các khai báo trong libreprolang-analysis.ads và khai báo Ada.Strings.Unbounded xung đột; hoàn tất khi trường hợp nút AST Length hoặc bị từ chối một cách rõ ràng, hoặc biên dịch được mà không xảy ra xung đột tên.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
How to reproduce
Create an example project:
create-project.py repro
Change ExampleNode to Length:
$ sed -ie 's/ExampleNode/Length/' repro/language/parser.py
$ cd repro && python3 ./manage.py make
[...]
Compile
[Ada] parse.adb
parse.adb:137:44: "Length" is not visible
parse.adb:137:44: multiple use clauses cause hiding
parse.adb:137:44: hidden declaration at libreprolang-analysis.ads:88
parse.adb:137:44: hidden declaration at a-strunb.ads:92
compilation of parse.adb failed
gprbuild: *** compilation phase failed
Build failed: error while running gprbuild -p -j8 -P/home/senier/tmp/langkit/length_issue/repro/build/src/mains.gpr -XBUILD_MODE=dev -XLIBRARY_TYPE=relocatable -XGPR_BUILD=relocatable -XXMLADA_BUILD=relocatable parse.adb:
Command '['gprbuild', '-p', '-j8', '-P/home/senier/tmp/langkit/length_issue/repro/build/src/mains.gpr', '-XBUILD_MODE=dev', '-XLIBRARY_TYPE=relocatable', '-XGPR_BUILD=relocatable', '-XXMLADA_BUILD=relocatable', 'parse.adb']' returned non-zero exit status 4.
Expected behavior
Either reject Length as AST node name or (preferably) allow it's use in the parser by fully qualifying Ada.Strings.Unbounded.Length (maybe use clauses should be avoided in generated code alltogether).
Versions used
GNAT: Community 2020
Langkit: master (45df941275a0844fafc960cfc6b775b1108f42f3)
- Ngôn ngữ chính
- Ada
- Star
- 94
- Fork
- 34
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của AdaCore/langkit
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 45/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
-
Struggles building Langkit with AlireCó thể làm lại được @pmderodat đã nhận 858 ngày trước và không có pull request nào đang mở. Đang mở
Tất cả issue của AdaCore/langkit
Issue tương tự
-
bot-found bug priority: P3
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
madenvel/KalinkaPlayer#179 ·
-
cuAmpcorParameter.cpp (CPU pycuampcor) does not compile with libc++: EXIT_FAILURE is undeclaredĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
isce-framework/isce3#387 ·
-
agent-research-recommend agent-review-finding enhancement ready-for-agent
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
jordansmall/spindrift#3965 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
[request] opencv/5.0.0Đang mởupstream update
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
conan-io/conan-center-index#31055 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày