]> git.lizzy.rs Git - rust.git/commit
Auto merge of #43605 - RalfJung:mapdoc, r=michaelwoerister
authorbors <bors@rust-lang.org>
Wed, 2 Aug 2017 13:40:35 +0000 (13:40 +0000)
committerbors <bors@rust-lang.org>
Wed, 2 Aug 2017 13:40:35 +0000 (13:40 +0000)
commitcd87b5d5162c7696498a5c1e17e1f7af68202eca
treef7a93522c3616f676d093d6e1ad50627db1de832
parent22f256f69e61a0f2ceb7eb842589597f6fe4ce37
parente92ddbf5f7b9b1c6d61f3b6138035dfd5eee2c68
Auto merge of #43605 - RalfJung:mapdoc, r=michaelwoerister

Improve hir::map::Map::get_parent_node doc

The documentation says
```
    /// Similar to get_parent, returns the parent node id or id if there is no
    /// parent.
    /// This function returns the immediate parent in the AST, whereas get_parent
    /// returns the enclosing item.
```
One would think that one can walk up the tree by repeatedly calling `get_parent_node` until it returns the argument, and then work on the `NodeId`s that arise. However, that is not true: `get_parent_node` will return id 0 (the crate itself) for items that sit directly in the crate; calling `get` on that `NodeId` will panic.

So, the fact that `get_parent_node` returns the root when passed the root is actually not really useful, because the root itself is already a somewhat degenerate node. This improves the doc so hopefully people writing code that "walks up the tree" don't run into this issue like I did...