Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

The import-reexport problem

Đang mở
#54 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
45/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
go, python, rust
Lĩnh vực
compilers, devtools

Hướng nghiên cứu

Sử dụng branch fix/reexport được liên kết làm điểm bắt đầu, sau đó tìm đoạn code ghi nhận các symbol được export theo pkgPath. So sánh ví dụ Rust cur::bar với kết quả cur::foo::bar hiện tại và kiểm tra trường hợp import-reexport trong Python. Hoàn tất khi symbol được re-export có thể được truy cập từ package path hiện tại mà không làm lộ module path riêng tư.

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

Mô tả

相关分支:https://github.com/cloudwego/abcoder/tree/fix/reexport

在 rust 和 python 中,存在一种情况是一个文件 import 了一个符号以后,从自己的位置 export 出去

// rust
// (文件是 cur.rs, pkgPath is cur)
mod foo;		// 子模块是 private 的
pub use foo::bar;	// 但是 bar 函数是 public 的
			// 这个 pkg 的 user 应当通过 cur::bar 来访问 bar
			//	不能通过 cur::foo::bar,会产生错误

// python
from math import cos // 当前文件 export 了 cos

在 Rust 的情况中,我们应当确保 cur::bar 是外部可见的.
现在的实现里,pkgPath=cur 的地方没有 bar,但是 pkgPath=cur::foo 里有 bar。
这可能让大模型认为 bar 的用法是 cur::foo::bar

Ngôn ngữ chính
Go
Star
391
Fork
58
Merge trung bình
2 ngày 21 giờ
Pull request đã merge (30 ngày)
1

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

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

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của cloudwego/abcoder

Tất cả issue của cloudwego/abcoder

Issue tương tự

Thêm issue về Go

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.