Commit graph

24 commits

Author SHA1 Message Date
Muhammad Mominul Huque
01d4d46f66 Replace IntoIter::new with IntoIterator::into_iter in std 2021-06-02 16:09:04 +06:00
Simon Sapin
61c49d4042 Stabilize by-value [T; N] iterator core::array::IntoIter
Tracking issue: https://github.com/rust-lang/rust/issues/65798

This is unblocked now that `min_const_generics` has been stabilized
in https://github.com/rust-lang/rust/pull/79135.

This PR does *not* include the corresponding `IntoIterator` impl,
which is https://github.com/rust-lang/rust/pull/65819.
Instead, an iterator can be constructed through the `new` method.

`new` would become unnecessary when `IntoIterator` is implemented
and might be deprecated then, although it will stay stable.
2020-12-29 09:16:46 +01:00
Roman Proskuryakov
44dd95e4d0 Fix copypaste in test into-iter-impls-length-33 (const generic 32 -> 33) 2020-07-05 19:06:02 +03:00
Roman Proskuryakov
eff62069ad Remove the usage of the LengthAtMost32 trait 2020-07-05 15:47:08 +03:00
Oliver Scherer
819cde5dab Show the values and computation that would overflow a const evaluation or propagation 2020-06-26 10:08:52 +02:00
Ivan Tham
a8ed9aa9f0 impl From<[T; N]> for Box<[T]>
Based on https://github.com/rust-lang/rust/pull/68692
2020-05-20 17:00:21 +08:00
bors
914adf04af Auto merge of #71447 - cuviper:unsized_cow, r=dtolnay
impl From<Cow> for Box, Rc, and Arc

These forward `Borrowed`/`Owned` values to existing `From` impls.

- `Box<T>` is a fundamental type, so it would be a breaking change to add a blanket impl. Therefore, `From<Cow>` is only implemented for `[T]`, `str`, `CStr`, `OsStr`, and `Path`.
- For `Rc<T>` and `Arc<T>`, `From<Cow>` is implemented for everything that implements `From` the borrowed and owned types separately.
2020-05-19 08:08:48 +00:00
Bastian Kauschke
0db2aec14a display ConstKind::Param 2020-05-09 17:10:40 +02:00
Josh Stone
22efd95910 Bless From<Cow> UI changes 2020-04-22 14:40:27 -07:00
Joshua Nelson
ba46b61bbc bless UI tests 2020-03-10 23:44:46 +00:00
Joshua Nelson
e3d5eaf2bb add ui-tests 2020-03-10 23:44:46 +00:00
Matthew Jasper
ebc86b441d Fix use of has_infer_types
* Add a new method `has_infer_types_or_consts` that's used instead most
  of the time, since there's generally no reason to only consider types.
*  Remove use of `has_closure_types`, because closures are no longer
  implicitly linked to the `InferCtxt`.
2020-03-01 21:42:34 +00:00
LeSeulArtichaut
2e07892c7d Do not emit note suggesting to implement trait to foreign type
Update tests

Extend to other operations

Refractor check in a separate function

Fix more tests
2020-02-17 15:21:36 +01:00
Dylan DPC
2a201336ed
Rollup merge of #67642 - Mark-Simulacrum:relax-bounds, r=Amanieu
Relax bounds on HashMap/HashSet

These APIs changed from the old bound listed to the new bound (possibly empty):

K: Hash + Eq -> K
* new
* with_capacity

K: Eq + Hash, S: BuildHasher -> K, S
* with_hasher
* with_capacity_and_hasher
* hasher

K: Eq + Hash + Debug -> K: Debug
S: BuildHasher -> S
HashMap as Debug

K: Eq + Hash -> K
S: BuildHasher + Default -> S: Default
HashMap as Default

Resolves #44777.
2020-02-13 02:52:46 +01:00
Eduard-Mihai Burtescu
4c7eb59e81 rustc_macros: don't limit the -Zmacro-backtrace suggestion to extern macros. 2020-02-06 21:46:38 +02:00
Esteban Küber
5b36c187dc review comments 2020-01-16 09:49:13 -08:00
Esteban Küber
e1dd8a9095 When trait bounds are missing for return values, point at them 2020-01-16 09:37:24 -08:00
Mark Rousskov
48859db151 Relax bounds on HashSet to match hashbrown
No functional changes are made, and all APIs are moved to strictly less
restrictive bounds.

These APIs changed from the old bound listed to the new bound:

T: Hash + Eq -> T
* new
* with_capacity

T: Eq + Hash, S: BuildHasher -> T
* with_hasher
* with_capacity_and_hasher
* hasher

T: Eq + Hash + Debug -> T: Debug
S: BuildHasher -> S
<HashSet as Debug>

T: Eq + Hash -> T
S: BuildHasher + Default -> S: Default
<HashSet as Default>
2019-12-26 19:24:45 -05:00
Janusz Marcinkiewicz
e305bf8bc8 Rename tests and add short test description 2019-12-07 08:55:09 +01:00
Lukas Kalbertodt
c36b9ddcb4
Add UI tests for array::IntoIter impls
This it to make sure traits are implemented for arrays with length 32
and below, while they are not implemented for >= 33.
2019-10-24 15:46:44 +02:00
Esteban Küber
02e3fb89a7 When possible point at argument causing item obligation failure 2019-09-19 12:10:23 -07:00
Jake Goulding
32324d22c3 Add implementations for converting boxed slices into boxed arrays
This mirrors the implementations of reference slices into arrays.
2019-08-05 10:26:53 -04:00
Mazdak Farrokhzad
bfdfa85e73 Add tests for Vec(Deque) array PartialEq impls. 2019-07-28 06:46:41 +02:00
Scott McMurray
d6a9793722 Use const generics for array impls, restricted to 0..=32
- uses a never-stable core::array::LengthAtMost32 to bound the impls
- includes a custom error message to avoid mentioning LengthAtMost32 too often
- doesn't use macros for the slice implementations to avoid #62433
2019-07-07 11:31:38 -07:00