EpicSkookumScript / EpicSkookumScript/SkookumScript-Plugin

Check for re-entry in constructors

Đang mở
#9 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
enhancement
Ngôn ngữ chính
C++
Star
138
Fork
22
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

**Issue by [error454](https://github.com/error454)**
_Friday Jul 05, 2019 at 22:39 GMT_
_Originally opened as https://github.com/SkookumScript/SkookumScript-Plugin/issues/9_

----

**Is your feature request related to a problem? Please describe.**
I wrote a variable initializer in `BaseArconiaPawn`s constructor as:
`@arconian_owner : BaseArconiaPawn!`

I fully intended on that being:
`@arconian_owner : BaseArconiaPawn!null`

When I next hit play I got a stack overflow.

**Describe the solution you'd like**
Throw an assert with a relevant warning if this situation arises. Or better yet make it a compiler error.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Không có tệp hoặc bài kiểm thử nào được nêu tên. Hãy bắt đầu bằng cách theo dõi cách trình khởi tạo hàm tạo của BaseArconiaPawn được xử lý và dạng non-null `BaseArconiaPawn!` khác với `BaseArconiaPawn!null` như thế nào. Được xem là hoàn tất khi việc đi vào hàm tạo đệ quy được phát hiện bằng một cảnh báo phù hợp hoặc lỗi trình biên dịch.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
cpp
Lĩnh vực
compilers
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.