From 604267088c9ef6afa021807b437dab22d72dfc99 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Wed, 16 Jun 2021 22:48:48 +0300 Subject: internal: add iterator to minicore --- crates/hir_ty/src/tests/regression.rs | 47 ++++++----------------------------- 1 file changed, 8 insertions(+), 39 deletions(-) (limited to 'crates/hir_ty/src') diff --git a/crates/hir_ty/src/tests/regression.rs b/crates/hir_ty/src/tests/regression.rs index 1edec1615..e0ad41fb9 100644 --- a/crates/hir_ty/src/tests/regression.rs +++ b/crates/hir_ty/src/tests/regression.rs @@ -418,48 +418,17 @@ fn issue_2705() { fn issue_2683_chars_impl() { check_types( r#" -//- /main.rs crate:main deps:std +//- minicore: iterator +pub struct Chars<'a> {} +impl<'a> Iterator for Chars<'a> { + type Item = char; + fn next(&mut self) -> Option {} +} + fn test() { - let chars: std::str::Chars<'_>; + let chars: Chars<'_>; (chars.next(), chars.nth(1)); } //^ (Option, Option) - -//- /std.rs crate:std -#[prelude_import] -use self::prelude::rust_2018::*; -pub mod prelude { - pub mod rust_2018 { - pub use crate::iter::Iterator; - pub use crate::option::Option; - } -} - -pub mod iter { - pub use self::traits::Iterator; - pub mod traits { - pub use self::iterator::Iterator; - - pub mod iterator { - pub trait Iterator { - type Item; - fn next(&mut self) -> Option; - fn nth(&mut self, n: usize) -> Option {} - } - } - } -} - -pub mod option { - pub enum Option {} -} - -pub mod str { - pub struct Chars<'a> {} - impl<'a> Iterator for Chars<'a> { - type Item = char; - fn next(&mut self) -> Option {} - } -} "#, ); } -- cgit v1.2.3