If rustc interpreted
use modpath::**; as
use modpath::prelude::*; then modules like
std::sync could conveniently provide their own prelude.
These optional per module preludes would simplify imports more effectively than corresponding proposals in the contentious 2021 edition prelude RFC.
As an example,
use core::mem::**; would expose
swap, but not
use std::futures::**; all bring similar benefits.
There are already crates like rand that provide some prelude module, which then benefit from the
** syntax too.
We do not require a special syntax to save typing 8 characters of course, but likely the
** helps establishes a convention of providing preludes, or even local prelude in large projects, which then helps focus user attention upon core functionality and expected utilization.
We could experiment by adding unstable modules like
core::mem::prelude that simplify imports, but initially without the special
** syntax. We could then add the
** syntax once these convince everyone that local preludes better communicate expected usage and common functionality.