7386: Handle box with allocator r=flodiebold a=tweksteen
In 1.49.0, the definition of Box was modified to support an optional
Allocator[1]. Adapt the parsing of the `box` keyword to supply the
expected number of parameters to the constructor.
[1] f288cd2e17Fixes: #6956
Co-authored-by: Thiébaud Weksteen <tweek@google.com>
In 1.49.0, the definition of Box was modified to support an optional
Allocator[1]. Adapt the parsing of the `box` keyword to supply the
expected number of parameters to the constructor.
[1] f288cd2e17
7348: Fix broken link in intra-doc r=edwin0cheng a=sasurau4
Fix#5546
The intra-doc link doesn't work fine for trait associated method.
Co-authored-by: Daiki Ihara <sasurau4@gmail.com>
7387: Refactor build script specific data r=edwin0cheng a=edwin0cheng
It refactors for separating logic for build script specific data.
bors r+
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
7381: Revert "Make use of `block_def_map` in body lowering" r=jonas-schievink a=jonas-schievink
Reverts rust-analyzer/rust-analyzer#7380, since it broke stuff
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
7380: Make use of `block_def_map` in body lowering r=jonas-schievink a=jonas-schievink
Removes the `local_scope` argument from `Expander` in favor of tracking the `DefMap` in use during body lowering.
For now, we still collect inner items as usual, because other code still relies on `item_scope`.
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
7375: Add support for running name resolution in block expressions r=jonas-schievink a=jonas-schievink
This adds a `block_def_map` query that runs the name resolution algorithm on a block expression, and returns a `DefMap` that stores links to the parent `DefMap` (either the containing block or the crate-level `DefMap`). Blocks with no inner items return the parent's `DefMap` as-is, to avoid creating unnecessarily long `DefMap` chains.
Path resolution is updated to recurse into the parent `DefMap` after looking up a path in the original `DefMap`.
I've added a few new tests for this, but outside of those this isn't used yet.
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
7366: Treat BlockExpr as a potential module origin r=jonas-schievink a=jonas-schievink
A block containing inner items acts like the root module of a crate, so it needs to be representable as a `ModuleSource` and `ModuleOrigin`.
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>