Rollup merge of #70632 - tspiteri:vec-new, r=sfackler
expand vec![] to Vec::new() The current expansion of `vec![]` calls `into_vec` on a boxed slice, which results in longer IR, and even after optimization, some unwinding artifacts are still present in the IR. This PR uses `Vec::new()` for `vec![]`. This also allows `vec![]` to be used in const expressions.
This commit is contained in:
commit
8310320ebd
|
@ -36,6 +36,9 @@
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
#[allow_internal_unstable(box_syntax)]
|
#[allow_internal_unstable(box_syntax)]
|
||||||
macro_rules! vec {
|
macro_rules! vec {
|
||||||
|
() => (
|
||||||
|
$crate::vec::Vec::new()
|
||||||
|
);
|
||||||
($elem:expr; $n:expr) => (
|
($elem:expr; $n:expr) => (
|
||||||
$crate::vec::from_elem($elem, $n)
|
$crate::vec::from_elem($elem, $n)
|
||||||
);
|
);
|
||||||
|
@ -51,6 +54,9 @@ macro_rules! vec {
|
||||||
// NB see the slice::hack module in slice.rs for more information
|
// NB see the slice::hack module in slice.rs for more information
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
macro_rules! vec {
|
macro_rules! vec {
|
||||||
|
() => (
|
||||||
|
$crate::vec::Vec::new()
|
||||||
|
);
|
||||||
($elem:expr; $n:expr) => (
|
($elem:expr; $n:expr) => (
|
||||||
$crate::vec::from_elem($elem, $n)
|
$crate::vec::from_elem($elem, $n)
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in New Issue