Closed
Description
Reporting two examples of missing cross-crate links related to re-exports.
example 1
I noticed that in the documentation for the Script
struct in the ckb-jsonrpc-types
crate (Script
), the H256
type is mentioned. However, the H256
type is not linked to its corresponding documentation page in the ckb-fixed-hash-core
crate (H256
).
Additional Information:
- Both of these crates are included in the ckb workspace. When running
cargo doc --workspace --no-deps --open
from the localckb
path, the correct link for theH256
type can be generated. - The
H256
type is originally defined inckb-fixed-hash-core
. H256
is re-exported inckb-fixed-hash
(which depends onckb-fixed-hash-core
).H256
is re-exported again inckb-types
(which depends onckb-fixed-hash
).- The problematic crate
ckb-jsonrpc-types
depends onH256
fromckb-types
.
example 2
In the documentation for the ChainStore
trait in the ckb-store
crate (ChainStore
), the DBPinnableSlice
type and DBIter
type are mentioned in required methods get
and get_iter
. However, the types are not linked to its corresponding documentation pages in the ckb-rocksdb
crate (DBPinnableSlice
and DBIterator
).
Additional Information:
- When running
cargo doc --workspace --open
from the localckb
path, the correct link for theDBPinnableSlice
type andDBIter
type can be generated. However, runningcargo doc --workspace --no-deps --open
produces the same result as described in the issue (i.e., no links are generated). - The
DBPinnableSlice
type andDBIter
type are originally defined inckb-rocksdb
. - The
DBPinnableSlice
type andDBIter
type are re-exported inckb-db
(which depends onckb-rocksdb
). - The problematic crate
ckb-store
depends onDBPinnableSlice
andDBIter
fromckb-db
.