     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72

    //! The first version of the prelude of The Rust Standard Library.
    //!
    //! See the [module-level documentation](../index.html) for more.

    #![stable(feature = "rust1", since = "1.0.0")]

    // Re-exported core operators
    #[stable(feature = "rust1", since = "1.0.0")]
    #[doc(no_inline)]
    pub use crate::marker::{Send, Sized, Sync, Unpin};
    #[stable(feature = "rust1", since = "1.0.0")]
    #[doc(no_inline)]
    pub use crate::ops::{Drop, Fn, FnMut, FnOnce};

    // Re-exported functions
    #[stable(feature = "rust1", since = "1.0.0")]
    #[doc(no_inline)]
    pub use crate::mem::drop;

    // Re-exported types and traits
    #[stable(feature = "rust1", since = "1.0.0")]
    #[doc(no_inline)]
    pub use crate::convert::{AsMut, AsRef, From, Into};
    #[stable(feature = "rust1", since = "1.0.0")]
    #[doc(no_inline)]
    pub use crate::iter::{DoubleEndedIterator, ExactSizeIterator};
    #[stable(feature = "rust1", since = "1.0.0")]
    #[doc(no_inline)]
    pub use crate::iter::{Extend, IntoIterator, Iterator};
    #[stable(feature = "rust1", since = "1.0.0")]
    #[doc(no_inline)]
    pub use crate::option::Option::{self, None, Some};
    #[stable(feature = "rust1", since = "1.0.0")]
    #[doc(no_inline)]
    pub use crate::result::Result::{self, Err, Ok};

    // Re-exported built-in macros
    #[stable(feature = "builtin_macro_prelude", since = "1.38.0")]
    #[doc(no_inline)]
    pub use core::prelude::v1::{
        asm, assert, cfg, column, compile_error, concat, concat_idents, env, file, format_args,
        format_args_nl, global_asm, include, include_bytes, include_str, line, log_syntax, module_path,
        option_env, stringify, trace_macros,
    };

    // FIXME: Attribute and derive macros are not documented because for them rustdoc generates
    // dead links which fail link checker testing.
    #[stable(feature = "builtin_macro_prelude", since = "1.38.0")]
    #[allow(deprecated)]
    #[doc(hidden)]
    pub use core::prelude::v1::{
        bench, global_allocator, test, test_case, Clone, Copy, Debug, Default, Eq, Hash, Ord,
        PartialEq, PartialOrd, RustcDecodable, RustcEncodable,
    };

    // The file so far is equivalent to src/libcore/prelude/v1.rs,
    // and below to src/liballoc/prelude.rs.
    // Those files are duplicated rather than using glob imports
    // because we want docs to show these re-exports as pointing to within `std`.

    #[stable(feature = "rust1", since = "1.0.0")]
    #[doc(no_inline)]
    pub use crate::borrow::ToOwned;
    #[stable(feature = "rust1", since = "1.0.0")]
    #[doc(no_inline)]
    pub use crate::boxed::Box;
    #[stable(feature = "rust1", since = "1.0.0")]
    #[doc(no_inline)]
    pub use crate::string::{String, ToString};
    #[stable(feature = "rust1", since = "1.0.0")]
    #[doc(no_inline)]
    pub use crate::vec::Vec;